Тестовый запуск CTS с другой версией APK

Устройство имеет SDK с уровнем AP 26, и тест CTS также имеет уровень 26. Но при выполнении command> run cts-java возникает ошибка:

java.lang. Строка файла XML № 0): требуется более новая версия sdk № 27 (текущая версия - № 26) '

На данный момент расследование сделано: Поиск версии apk:

Значок дампа $ aapt ~ / CTS / android-cts / testcases / CtsLibcoreTestCases.apk package: 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 temp хранились предыдущие данные apk. Я не знаю, как это удалить. Пожалуйста, предложите


person Investigate    schedule 23.04.2018    source источник


Ответы (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 содержит тот же Cts*.apk в подпапке testcases, и он скорее пытался установить их из VTS, а не из своего собственного местоположения CTS.

В заключение

Похоже, что CTS довольно эгоистичны и агрессивны и сканируют всю родительскую папку в поисках подходящих Cts*.apk приложений, независимо от того, находятся ли они полностью вне местоположения CTS.

person DelphyM    schedule 30.11.2018