Android: приложение не установлено

Новичок здесь..... Я сделал свою первую игру с движком Godot и экспортировал в android успешно..... скопировал на свой телефон, он устанавливает и работает отлично. Через пару часов я сделал некоторые изменения и экспортировал их снова..... Опять скопировал apk, но теперь, когда я пытаюсь его установить, он не завершает установку. Я попытался изменить параметры экспорта столько раз, но он не будет установлен. Пожалуйста помоги.

Пробовал установку с помощью adb, и я получаю следующее:

C:\Users\Suhail\AppData\Local\Android\Sdk\platform-tools>adb install -r .apk
adb: failed to install .apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1790547402.tmp/base.apk has no certificates at entry AndroidManifest.xml]

Я использую jarsigner из oracle jdk 10 (последняя версия), а хранилище отладки было создано тем же jdk. Мое устройство работает на Android 8.0

Я загрузил редактор APK на свой телефон..... выбрал мой apk..... и попробовал разные настройки "установить место" внутри него. Это было по умолчанию в Auto (OS Make Decision)..... изменено на "Только для внутреннего использования"...... до сих пор не устанавливалось...... изменено на значение по умолчанию (не указано), оно установлено и отлично работает, Так все это помогает моему делу? Я не должен был использовать APK Editor каждый раз после экспорта. Спасибо за ваше время в любом случае

Когда я пытаюсь развернуть один клик в Godot:

Exception occurred while executing:
java.lang.IllegalArgumentException: Unknown package: org.godotengine.dangerousplane
    at com.android.server.pm.Settings.getInstallerPackageNameLPr(Settings.java:5053)
    at com.android.server.pm.PackageManagerService.getInstallerPackageName(PackageManagerService.java:27945)
    at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:27951)
    at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:24078)
    at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:996)
    at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:912)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)
    at android.os.ShellCommand.exec(ShellCommand.java:96)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:28755)
    at android.os.Binder.shellCommand(Binder.java:581)
    at android.os.Binder.onTransact(Binder.java:481)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:3211)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:5111)
    at android.os.Binder.execTransact(Binder.java:682)
Installing into device (please wait..): Samsung SM-A520F
running cmdline: "C:/Users/Suhail/AppData/Local/Android/Sdk/platform-tools/adb.exe" "-s" "5210d5c5e2787409" "install" "-r" "C:\Users\Suhail\AppData\Local\Temp/Godot/tmpexport.apk"
adb: failed to install C:\Users\Suhail\AppData\Local\Temp/Godot/tmpexport.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl2125437658.tmp/base.apk has no certificates at entry AndroidManifest.xml]
running cmdline: "C:/Users/Suhail/AppData/Local/Android/Sdk/platform-tools/adb.exe" "-s" "5210d5c5e2787409" "shell" "am" "start" "-a" "android.intent.action.MAIN" "-n" "org.godotengine.dangerousplane/org.godotengine.godot.Godot"
Starting: Intent { act=android.intent.action.MAIN cmp=org.godotengine.dangerousplane/org.godotengine.godot.Godot }
Error type 3
Error: Activity class {org.godotengine.dangerousplane/org.godotengine.godot.Godot} does not exist.

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

Ответы

Ответ 1

  Перейдите в /data/local/tmp в папках своего устройства , например.

Удалите папку с именем вашего пакета.

Rebuild/clean & build project.

Нажмите на запустить

Ответ 2

Это случилось со мной, когда я пытался установить более старую версию apk, пока последняя версия все еще активна.

Исправление: проверьте версии приложения и увеличьте версию в файле build.gradle,

android {
..
..
defaultConfig {
..
..
versionCode <increment the version here>
..
..
}
..
}

Удалите старую версию и установите эту версию обновленного apk -or- Этот обновленный apk будет установлен поверх любого старого

Ответ 3

Я столкнулся с той же проблемой, пытаясь установить приложение на эмуляторе Android с недостатком свободного места во внутренней памяти телефона. После удаления нескольких других приложений эта ошибка исчезла.

Ответ 4

Решение 1:
В моем случае я столкнулся с этой ошибкой после следующего:
 1. Я создал копию исходной папки.
 2. Там лежала оригинальная папка.
 3. когда я открыл эту папку как Android-проект и попытался запустить приложение, он бросил это сообщение.
 4. Я просто изменил исходное имя папки и имя новой папки на оригинал. Ошибка исчезла.

Решение 2:
Импортировать проект из текущей папки как новый.

Ответ 5

Это случилось со мной недавно, и я не смог найти папку приложения внутри /data/local/tmp.

я решаю это

  • построить апк
  • перенести apk на телефон и установить оттуда
  • удалить приложение на телефоне
  • попробуйте убежать от андроид студии

Ответ 6

потратив несколько часов, я нашел решение следующим образом:

  1. Запустите uninstallAll из приложения Gradle> Задачи> установить> uninstallAll (проверьте изображение)
  2. Затем установите на устройство. (Проблема остается)
  3. Затем удалите и установите из Android Studio. Решаемые.

enter image description here

Ответ 7

  Я удалил папку сборки и заново собрал проект. После перестройки проекта apk был легко установлен.

Ответ 8

Если описанные выше шаги не работают, вы также можете попробовать это: -

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

Иногда даже после удаления приложения с устройства оно все равно остается установленным в гостевом сеансе устройства.

Это может сработать.

Ответ 9

Я нашел решение, которое обнаружил, что

Память телефона заполнена, и вы должны освободить место в памяти