该设备具有AP级26的sdk,CTS测试也是26级。但是,在运行命令>运行cts时,会出现以下错误:
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转储标记~/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 get螺旋桨ro.build.version.sdk 26
没有冲突,但仍然会出现错误。我的预感是设备或cts临时目录已经存储了以前的apk数据。我不知道怎么移除它。请建议
发布于 2018-11-30 03:27:42
你解决这个问题了吗?我也经历过同样的事情,并发现了以下未记录的行为,请参阅下面
背景
当我测试以前基于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位置之外。
https://stackoverflow.com/questions/49974251
复制相似问题