【问题标题】:CTS test run taking other version of APKCTS 测试运行其他版本的 APK
【发布时间】:2018-04-23 05:56:09
【问题描述】:

设备有sdk,AP级别26,CTS测试也是26级。但是在运行命令时>运行cts-java遇到错误:

java.lang.RuntimeException:com.android.tradefed.targetprep.TargetSetupError:无法在 00002474 上安装 CtsLibcoreTestCases.apk。原因:'INSTALL_FAILED_OLDER_SDK:在 installPackageLI 期间解析失败:/data/app/vmdl1133462583.tmp/base.apk (在二进制 XML 文件第 #0 行):需要更新的 sdk 版本 #27(当前版本是 #26)'

目前已完成调查: 查找apk版本:

$ aapt dump badging ~/CTS/android-cts/testcases/CtsLibcoreTestCases.apk 包:name='android.libcore.cts' versionCode='26' versionName='8.0.0' platformBuildVersionName='8.0.0' sdkVersion:'26' targetSdkVersion:'26'

查找设备 sdk 版本: $ adb shell getprop ro.build.version.sdk 26

没有冲突,但仍然出现错误。我的预感是设备或 cts 临时目录已经存储了以前的 apk 数据。我不知道如何删除它。请推荐

【问题讨论】:

    标签: android cts


    【解决方案1】:

    你解决了这个问题吗? 我遇到了同样的情况,发现了以下未记录的行为,见下文

    背景

    由于我之前测试的是基于 Android 8.1 (SDK #27) 的设备,因此我在一个文件夹下组织了相应的 CTS 和 VTS 测试,例如TRADFED,然后放在同一个父文件夹 CTS 下以测试 Android 8.0 (SDK #26) 设备并遇到与 SDK 版本不匹配的相同问题。 我的结构看起来像这样:

    --TRADFED
      |-- android-cts
      |-- android-cts-media-1.4
      |-- android-cts-verifier
      `-- android-vts_81
    

    调查

    事实证明,CTS 正在从其父级 (TRAFED) 扫描整个目录结构以查找测试 APK,而 VTS 在 testcases 子文件夹下包含相同的 Cts*.apk,而它试图从 VTS 安装那些而不是它自己的 CTS 位置。

    总结

    看起来 CTS 非常自私和咄咄逼人,它会扫描整个父文件夹以查找任何合适的 Cts*.apk 应用程序,无论它完全位于 CTS 位置之外。

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 2018-11-10
      • 1970-01-01
      • 2011-10-20
      • 2015-07-11
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多