Ошибка ADB с установкой INSTALL_FAILED_TEST_ONLY
У меня возникают проблемы с установкой apk на мое устройство.
adb install <.apk>
Использование приведенной выше команды возвращает следующее:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
Любая идея о том, что может вызвать эту проблему?
Он определенно распознает устройство. Это может быть проблема с apk?
Ответы
Ответ 1
Похоже, вам нужно изменить свой AndroidManifest.xml
Измените android:testOnly="true"
на android:testOnly="false"
или удалите этот атрибут.
Если вы хотите сохранить атрибут android:testOnly
как true
, вы можете использовать команду pm install
с опцией -t
, , но вам может понадобиться push
apk для устройства сначала.
$ adb push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)
$ adb shell pm install /tmp/hello.apk
pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]
$ adb shell pm install -t /tmp/hello.apk
pkg: /tmp/hello.apk
Success
Я смог воспроизвести ту же проблему, и выше это решило.
Если ваш APK находится вне устройства (на вашем рабочем столе), то ниже команда будет делать это:
$ adb install -t hello.apk
Ответ 2
В моем случае эта ошибка была в нестабильной версии gradle. Просто используйте стабильную версию gradle (не альфа, даже бета). И это было исправлено для меня
Ответ 3
Добавьте -t
install frag, как показано на скриншоте ниже:
![anser is in the red box . good luck]()
Ответ 4
У меня была аналогичная проблема с Android Studio 3.0.0 Beta 7
и больше не могла публиковать в магазине воспроизведения.
Как указано здесь: https://developer.android.com/studio/run/index.html
Примечание. Кнопка "Выполнить" создает APK с testOnly = "true", что означает APK можно установить только через adb (который использует Android Studio). Если вы хотите отлаживаемый APK, который люди могут установить без adb, выберите ваш вариант отладки и нажмите "Сборка" > "Создать APK".
То же самое касается сборки релиза, с Android Studio 3
вам нужно перейти в Build > Build APK(s)
, чтобы иметь не тестируемый выпуск apk, который вы можете отправить в магазин.
Ответ 5
Я согласен с Элизи. Я получил ту же ошибку после открытия моего проекта в предварительном просмотре 2.4, а затем открыл тот же проект в студии Android 2.3.
Исправлена ошибка, изменяя эту строку в файле build.gradle из
classpath 'com.android.tools.build:gradle:2.4.0-alpha5'
к
classpath 'com.android.tools.build:gradle:2.3.1'
Ответ 6
В моем случае было загружено APK, что, хотя оно было подписано с производственным сертификатом и было вариантом выпуска, было создано кнопкой запуска запуска из студии Android.
Проблема решена после создания APK из Gradle или из опции меню сборки APK.
Ответ 7
Я не знаю, будет ли это полезно для кого-либо или нет, но я получил это сообщение об ошибке, когда я случайно попытался создать и установить мой проект с помощью тестовой версии gradle plugin ('gradle:2.4.0-alpha5'
) в стабильном Android Версия Studio (2.3
, а не версия 2.4 preview 5
, которую я загрузил и установил ранее).
Когда я осознал свою ошибку, я запустил предварительный просмотр версии Android Studio, и он без проблем создал и установил мой проект.
Ответ 8
Самый простой способ решить эту проблему, не возвращаясь к более старой версии gradle, заключается в том, чтобы добавить параметр -t в конфигурации запуска (для pm install).
testOnly = 'false' не имел никакого эффекта. Ошибка вызвана альфа-версией плагина gradle, который отлаживает APK для целей тестирования. Опция -t позволяет установить такой APK. Установка его в конфигурации запуска делает его автоматической установкой APK как обычно.
Ответ 9
Если вы хотите проверить apk, просто добавьте параметр командной строки -t
.
Пример команды:
adb install -t .\app-debug.apk
Ответ 10
Android studio 3.0 генерирует только тестовый APK.
Я решил проблему, добавив свойство "android: testOnly" в тег манифеста android.
<application
.....
android:testOnly="false"
android:theme="@style/AppTheme">
И затем сгенерировал APK в меню Android studio3.0: Build → Build APK (s).
Дополнительная информация:
https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
Ответ 11
Хотя я уверен, что ответ Saurabh будет работать для большинства других людей, я хотел бы определить дополнительные шаги, которые я должен был предпринять, чтобы установить мой apk.
Я попытался нажать на устройство со следующим результатом:
? adb push AppClient.TestOnly.App3.apk \tmp\
failed to copy 'AppClient.TestOnly.App3.apk' to '\tmp\': Read-only file system
Посмотрев вокруг, чтобы изменить разрешения RW для файловой системы, я закончил выполнение следующих команд:
? adb shell
255|[email protected]:/ $ su
[email protected]:/ # mount -o remount,rw /
mount -o remount,rw /
Я получил это, когда попытался снова нажать:
? adb push AppClient.TestOnly.App3.apk /tmp
failed to copy 'AppClient.TestOnly.App3.apk' to '/tmp': Permission denied
Мне удалось нажать на sdcard:
? adb push AppClient.TestOnly.App3.apk /sdcard/
3178 KB/s (99747 bytes in 0.030s)
В какой момент я смог выполнить команду Saurabh:
[email protected]:/ # pm install -t /sdcard/AppClient.TestOnly.App3.apk
pm install -t /sdcard/AppClient.TestOnly.App3.apk
pkg: /sdcard/AppClient.TestOnly.App3.apk
Success
Ответ 12
Я вижу принятый ответ, но вам не нужно нажимать apk, а затем запускать команду на adb shell direct adb install с флагом -t на самом деле работает
adb install -t "путь к apk в компьютере ур"
имеется скриншот для справки
![введите описание изображения здесь]()
Ответ 13
Я попробовал внешний проект с несколькими apk.
Команда из Studio выглядела как
adb install-multiple -r ....
Решение -
- выберите консоль
- команда aste с
-t
Ответ 14
это работает для меня adb install -t myapk.apk