Установка не удалась из-за: 'null' - Android Studio 3.5 - программирование
Подтвердить что ты не робот

Установка не удалась из-за: 'null' - Android Studio 3.5

Я обновил Android-студию до 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.

4b9b3361

Ответ 1

Откройте диалоговое окно Запуск/отладка конфигурации dialog

изменить Ваше приложение> Общие> Параметры установки> Установить флаги.

добавить флаги установки -r -t.

Этот флаг означает adb install -r -t apkpath

screen pic

Ответ 2

Эта проблема в Android Studio возникает для устройств ниже API 26 (Android 8). Это вызвано заменой InstantRun, известного сейчас как ApplyChanges.

Похоже, есть только два пути, прежде чем они исправят это в следующем обновлении.

  1. Запустите API>=26.
  2. После каждого изменения кода редактируйте run configuration, изменяя deploy с APK на App bundle, и наоборот. Если я правильно понимаю, это приведет к корректной перестройке приложения и устранению ошибки.

Конечно, есть возможность вручную удалить приложение с устройства перед запуском приложения из AndroidStudio.

Ответ 3

Для меня либо удаление приложения, либо очистка проекта "решают" проблему. Чтобы сделать его менее разочаровывающим, я добавил чистую работу для отладки типа сборки следующим образом:

buildTypes {
    ...
    debug {
        clean
    }
    ...
}

Ответ 4

Существует проблема с ОС Lineage, заявленная командой Google в https://issuetracker.google.com/issues/139782879:

Мы можем воспроизвести его на устройстве с LineageOS. Он не полностью поддерживает системный вызов, который мы используем для DeltaInstall.

Нет очевидного решения (кроме удаления APK из папки сборки или удаления приложения).

У нас должен быть обходной путь, но в настоящее время LineageOS не будет иметь DeltaInstall и всегда будет нуждаться в более медленной полной установке.

Изменение на Nothing, как указано OP, не приведет к развертыванию APK на устройстве (поэтому ошибка не будет отображаться), поэтому это не решит проблему.

Изменить:

Это было исправлено в Android Studio 3.6.

Спасибо за ответ. Это должно быть исправлено в последних версиях 3.6.

Ответ 5

Я получил решение в изменении конфигурации прогона редактирования кода в Deploy, выберите Default APK и install flag = -r -t, а затем подайте заявку на прогон. Приложение будет работать на всех устройствах и эмуляторе. Я прошел тестирование в OPPO 1 plus, Samsung Tab, Emulator Также.

Пожалуйста, подумайте, Изменить конфигурацию запуска кнопка для запуска в Android Studio

изменить приложение> общие ==> параметры установки ==> установить флаги

добавить флаги установки -r -t

-r означает "заменить существующее приложение". -t означает "разрешить тестовые пакеты"

enter image description here

Ответ 6

Вам нужно отключить "Использовать библиотеку libusb" в preferences--> отладчике enter image description here

Ответ 7

Прочитав Примечания к выпуску, касающиеся Применить изменения, я наконец нашел решение здесь: https://developer.android.com/studio/run#apply-changes-run-fallback

Включить запуск отката для применения изменений

После того, как вы нажали либо Применить изменения и перезапустить активность, либо Применить изменения кода, Android Studio создает новый APK и определяет могут ли изменения быть применены. Если изменения не могут быть применены и приведет к сбою Apply Changes, Android Studio предложит вам Вместо этого снова запустите значок приложения "Выполнить". Однако, если вы не хотите быть каждый раз, когда это происходит, вы можете настроить Android Studio на автоматически перезапускать ваше приложение, когда изменения не могут быть применены.

Чтобы включить это, выполните следующие действия:

  1. Откройте диалоговое окно "Настройки" или "Настройки":
    • В Windows или Linux выберите Файл> Настройки в строке меню.
    • В macOS выберите Android Studio> Настройки в строке меню.
  2. Перейдите к разделу Построение, выполнение, развертывание> Развертывание.
  3. Установите флажки, чтобы включить автоматический запуск отката для любого из действия Применить изменения.
  4. Нажмите ОК.

Screenshot running on Linux

Ответ 8

У меня тоже такая же проблема после обновления до 3.5. Мне было интересно, если вам повезло с настройкой "Выполнить" для работы с подключенным устройством?

ОБНОВЛЕНИЕ: я должен был заставить это работать, устанавливая "APK из комплекта приложения" под Опциями установки в диалоговом окне "Run/Debug Configurations"

Ответ 9

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a','x86_64'
        universalApk true
    }
}

Из-за различных конструкций, таких как "armeabi", "x86", "armeabi-v7a", "x86_64" и "arm64-v8a", мы должны добавить указанную выше конфигурацию в файл build.gradle.

Ответ 10

Наконец-то я нашел решение

просто установите v2SigningEnabled в true

 signingConfigs {
    release {
        v2SigningEnabled true
    }
}

Ответ 11

Удаление/удаление приложения с устройства устранило проблему для меня.

Ответ 12

Я не сталкивался с проблемой сам. Однако ранее у нас были некоторые проблемы с Instant Run в Android Studio. Я хотел бы предложить проверить следующие настройки в Android Studio и снять флажки, чтобы проверить, работает ли ваш код сейчас.

Перейдите к Android Studio -> Preference, а затем снимите флажок ниже под Deployments.

enter image description here

Вот что нового в Android Studio 3.5, которая поможет вам лучше понять эту функцию.

enter image description here

Ответ 13

Добавьте "чистую" зависимость для задач 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

Ответ 14

Попробуйте запустить команду "adb devices", если на выходе ничего нет, то переподключите устройство. Это помогло мне с той же ошибкой. Android studio 3.5 не определяет, что устройство отключено.

Ответ 15

Эта ошибка все еще присутствует на моем Mac OS, когда я получаю новое реальное устройство и пытаюсь установить apk из Android Studio 3.5 - и я нахожу безобразный способ, как это исправить - откройте терминал в студии и выполните следующие действия:

cd app/build/outputs/apk/debug
adb install -r -t your_app_name.apk

И это нужно делать с каждым проектом и каждым устройством !!

постскриптум Google, правда???

Отредактировано:

Я в итоге установил

Android Studio 3.6 Canary

  • это более рабочая версия, чем 3.5

Но все же нужно добавить в установку флаги -r -t

Ответ 16

Что сработало для меня, чтобы удалить старое приложение, а затем повторно запустить проект. В этом случае старый знак сертификата не беспокоит.

Ответ 17

Я также получил эту ошибку, когда я запустил приложение на реальном xiaomi pocophone 1 и решил эту проблему, запустив приложение сначала на эмуляторе, а затем на моем xiaomi pocophone 1

Ответ 18

Я удалил приложение из эмулятора, запустил и все вернулось на круги своя

Ответ 19

попробуйте поменять андроид: appComponentFactory="" на android:appComponentFactory="new", "new" могут быть любые слова

Ответ 20

Наконец, я получил решение в изменении конфигурации прогона редактирования кода в опции установки DEPLOY--> из выбора 4-й опции → (Ничего) → Применить И приложение работает нормально в Android Studio 3.5. В мобиле и эмуляторе тоже. Это работает должным образом в Android версии 9 также Это постоянное решение.