Я обновил Android Studio до версии 3.5, с тех пор как столкнулся с проблемой установки APK. Это единственный журнал, который показывает:
Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry
Это происходит при попытке установить APK на реальное устройство. Если я удалю приложение с устройства, а затем повторно запустил сборку, оно установится только один раз, а затем продолжит выдавать эту ошибку при следующей установке. Он отлично работает на эмуляторе, но я не могу использовать эмулятор для всего.
Что я пробовал:
- Удален файл конфигурации Android Studio.
- Удалил файлы Gradle из проекта.
- Аннулированы и сброшены кеши.
- Почистил / пересобирал проект.
- Искал похожие проблемы Stackoverflow (ничто не соответствует моей проблеме)
- Чисто установлен (удалены все файлы, включая SDK) Android Studio 3.5
Обновить
Я установил Linux Mint на свой компьютер и протестировал там AS 3.5, по какой-то причине все работает нормально даже на устройствах с Android 7 и ниже.
Предыдущая ОС: Windows 10 1903
Текущая ОС: Linux Mint 19.2
Я считаю, что эта проблема может исходить от компьютеров Windows.
android
android-studio
Taseer
источник
источник
INSTALL_PARSE_FAILED_NOT_APK
время тестирования эспрессоINSTALL_PARSE_FAILED_NOT_APK
Ответы:
Открыть конфигурацию запуска / отладки диалоговое окно « » (Windows: «Выполнить»> «Изменить конфигурации»)
отредактируйте приложение You> Общие> Параметры установки> Установить флаги .
добавить флаги установки
-r -t
.Этот флаг означает
adb install -r -t apkpath
источник
adb install -r -t apkpath
Я думаю, это означает . @ TaseerAhmad-r
означает «заменить существующее приложение».-t
означает «разрешить тестовые пакеты»Вам нужно отключить "Использовать бэкэнд libusb" в настройках -> отладчик
источник
Эта проблема в Android Studio возникает на устройствах ниже
API 26
(Android 8). Это вызвано заменойInstantRun
, известной сейчас как ApplyChanges .Кажется, есть только два способа, прежде чем они исправят это в следующем обновлении.
API>=26
.run configuration
измененияdeploy
сAPK
наApp bundle
и наоборот. Если я правильно понимаю, это позволит правильно восстановить приложение и исправить ошибку.Конечно, есть возможность вручную удалить приложение с устройства перед запуском приложения из AndroidStudio.
источник
API26+
если нажметеApply changes
вместоrerun
? Это новая кнопка справа отrerun
.Для меня либо удаление приложения, либо очистка проекта «решают» проблему. Чтобы сделать его менее утомительным, я добавил чистую работу для отладки типа сборки, например:
buildTypes { ... debug { clean } ... }
источник
Прочитав примечания к выпуску, касающиеся применения изменений , я наконец нашел здесь решение: https://developer.android.com/studio/run#apply-changes-run-fallback
источник
Существует проблема с ОС Lineage, о чем говорит команда Google в https://issuetracker.google.com/issues/139782879 :
Нет очевидного решения (кроме удаления APK из папки сборки или удаления приложения).
Изменение на,
Nothing
как указано OP, не приведет к развертыванию APK на устройстве (поэтому ошибка не будет отображаться), поэтому это не решит проблему.Редактировать:
Это было исправлено в Android Studio 3.6.
источник
Build> Clean project - это работа для меня. Перед изменением других настроек сначала попробуйте это.
Удачного кодирования :)
источник
Я получил решение в изменении конфигурации запуска редактирования кода в Deploy, выберите Default APK и установите flag = -r -t, а затем Apply для запуска. Приложение будет работать на всех устройствах и в эмуляторе. Я тестировался в OPPO 1 plus, Samsung Tab, Emulator .
Пожалуйста, идите, подумайте, что редактировать конфигурацию запуска рядом с кнопкой запуска в Android Studio
редактировать приложение> общие ==> параметры установки ==> установить флаги
добавить флаги установки -r -t
-r означает «заменить существующее приложение». -t означает "разрешить тестовые пакеты"
источник
У меня тоже такая же проблема после обновления до 3.5. Мне было интересно, повезло ли вам заставить Run работать с подключенным устройством?
ОБНОВЛЕНИЕ: я должен был заставить это работать, установив «APK из пакета приложений» в параметрах установки в диалоговом окне «Запуск / отладка конфигураций».
источник
Удаление / удаление приложения с устройства устранило проблему для меня.
источник
Добавьте " чистую " зависимость задачи Gradle перед установкой / запуском ваших apks, используя конфигурацию ниже.
project.afterEvaluate { android.applicationVariants.all { variant -> variant.outputs.each { output -> def capitalizedVariant = variant.name.capitalize() def assembleVariantTask = project.tasks."assemble${capitalizedVariant}" assembleVariantTask.dependsOn clean } } }
Скопируйте и вставьте приведенный выше код в свой
app/build.gradle
файл, это работает для всех вариантов сборки.В частности, приведенный выше код будет эквивалентен приведенному ниже, если у вас есть только типы сборки отладки и выпуска:
assembleDebug.dependsOn clean assembleRelease.dependsOn clean
источник
Что помогло мне удалить старое приложение, а затем перезапустить проект. В таком случае старый знаковый сертификат не беспокоит.
источник
Я также получил эту ошибку, когда запустил приложение на реальном xiaomi pocophone 1 и решил эту проблему, запустив приложение сначала на эмуляторе, а затем на моем xiaomi pocophone 1
источник
splits { abi { enable true reset() include 'x86', 'armeabi-v7a','x86_64' universalApk true } }
Из-за различных конструкций, таких как armeabi, x86, armeabi-v7a, x86_64 и arm64-v8a, мы должны добавить приведенную выше конфигурацию в файл build.gradle.
источник
Наконец-то я нашел решение
просто установите v2SigningEnabled true
signingConfigs { release { v2SigningEnabled true } }
источник
Сам с проблемой не сталкивался. Однако раньше у нас были проблемы с мгновенным запуском Android Studio. Я хотел бы предложить проверить следующие настройки в вашей Android Studio и снять флажок, чтобы проверить, работает ли ваш код сейчас.
Перейдите к,
Android Studio -> Preference
а затем снимите отметку со следующего подDeployments
.Вот что нового в Android Studio 3.5 относительно этого, что поможет вам лучше понять эту функцию.
источник
Попробуйте запустить команду "adb devices", если на выходе пусто, то переподключите устройство. Это помогло мне с той же ошибкой. Android studio 3.5 не определяет, что устройство отключено.
источник
Я удалил приложение из эмулятора, запустил и все вернулось в норму
источник
Для меня
minSdkVer = 22, tarSdkVer = 28
запуститьGradle -> app -> Tasks -> build -> clean && cleanBuildCache
действие, проблема решена.источник
Я нажал значок молотка, чтобы восстановить приложение, после чего оно установилось. Так я не знаю? Вся платформа для взлома Android - отстой.
На все эти деньги Google не может нанять или найти достаточно хороших программистов, чтобы придумать свою собственную настоящую операционную систему.
источник
Я также столкнулся с той же проблемой, я выполнил следующие шаги 1) Очистить проект 2) Восстановить проект
Это решило мою проблему
источник
В моем случае я не могу решить все вышеперечисленные ответы, поэтому я нашел другой способ. Наконец, я нашел решение. Просто найдите правильные драйверы телефона. Мой телефон для разработки - Samsung Galaxy Note 2 (МОДЕЛЬ: GT-N7105 / Android 4.1.2) . Я просто делюсь своим решением, как я это решил. Надеюсь сэкономить ваше время.
источник
Проблема возникает, когда вы тестируете новый модуль. Сначала вы пишете его индивидуально, а затем добавляете в основное приложение. Когда вы добавляете его в основное приложение, удалите «test_app» со своего телефона.
источник
Выполнить -> Изменить конфигурацию -> флаги установки: -r -t -> Применить -> ОК
источник
В моем случае это работает только при отключении проверки подписи APK:
$ adb shell settings put global verifier_verify_adb_installs 0
И используя
-r -t
упомянутые выше флагиисточник
Эта ошибка все еще есть на моей Mac OS, когда я получаю новое реальное устройство и пытаюсь установить apk из Android Studio 3.5 - и я нахожу уродливый способ исправить - откройте терминал в студии и следуйте:
cd app/build/outputs/apk/debug adb install -r -t your_app_name.apk
И это нужно делать с каждым проектом и каждым устройством !!
Отредактировано:
В конце концов я установил
Но все же нужно добавить в установочные флаги
-r -t
источник
У меня возникла эта проблема несколько минут назад, когда я попытался запустить свое приложение на реальном устройстве и остановил сборку gradle до ее завершения. Я только что удалил приложение на устройстве и перезапустил приложение как на AVD, так и на реальном устройстве (одновременно), и это сработало. Надеюсь, это сработает и для вас
источник
Основное решение
Файл -> Настройки -> Сборка, выполнение, развертывание -> Отладчик > Отключить
Use libusb backend
Gradle (Flap справа от IDE) -> android -> app -> Tasks -> install -> uninstallAll, или вы также можете сделать это с консоли следующим образом:
$ ./gradlew uninstallAll
Другие советы:
Удалите и снова создайте приложение в Run / Debug Configuration
Конфигурация запуска / отладки -> Параметры запуска> Запуск: указанное действие> Выбрать действие
Установите приложение, используя другое физическое устройство, версию IDE или ПК
Переустановите IDE и удалите .android
Повторите попытку с основным решением
Если вы хотите установить и открыть приложение, вы можете использовать adb со следующими командами:
$ adb install -r -t absolute-path.apk $ adb shell am start -n "com.package.flavor.env/.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
GL
Источник
источник
попробуйте сменить android:
appComponentFactory=""
наandroid:appComponentFactory="new"
,"new"
можно любые словаисточник
Наконец, я получил решение в изменении конфигурации запуска редактирования кода в параметре установки DEPLOY -> из выбора 4-го варианта -> (Ничего) вариант -> Применить. И приложение работает правильно в Android Studio 3.5. В мобильном телефоне и в эмуляторе тоже. Это работает правильно и в версии Android 9. Это постоянное решение.
источник