Android:未安装应用

时间:2018-08-28 14:26:35

标签: android game-development godot

这里的新手.....我用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]

我正在使用Oracle jdk 10(最新版本)中的jarsigner,并且调试密钥库是由同一jdk创建的。 我的设备在Android 8.0上运行

我在手机上下载了APK编辑器.....选择我的apk .....并尝试了其中的其他“安装位置”设置。默认情况下是“自动”(由OS做出决策).....将其更改为“仅限内部使用” ...仍未安装.....将其更改为“默认(未指定)”,它已安装并且可以正常工作。 那么这一切对我的情况有没有帮助?导出后,我不必每次都使用APK编辑器。 谢谢您的宝贵时间

当我尝试在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让我头疼。

11 个答案:

答案 0 :(得分:18)

  

在设备文件夹Like this中转到/ data / local / tmp

     

删除以您的软件包名称命名的文件夹

     

重建/清理并构建项目

     

点击运行

答案 1 :(得分:1)

  • 从设置中转到“开发人员”选项,然后切换到“开”
  • 启用USB调试选项
  • 启用通过USB安装选项 enter image description here

答案 2 :(得分:0)

尝试在Android仿真器上安装应用程序时遇到相同的问题,该应用程序内部电话内存中的可用空间不足。卸载了其他几个应用程序后,此错误已消失。

答案 3 :(得分:0)

当我尝试安装较旧版本的apk而最新版本仍处于活动状态时,这发生在我身上。

修复:检查应用程序的版本并在build.gradle文件中增加版本

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

卸载旧版本并安装此版本已升级的APK -要么- 升级后的APK将安装在所有旧版本的顶部

答案 4 :(得分:0)

最近发生在我身上,我在/ data / local / tmp中找不到应用程序文件夹。

我可以通过

解决此问题
  • 构建apk
  • 将APK转移到手机并从那里安装
  • 在手机上卸载应用
  • 尝试从android studio中重新运行

答案 5 :(得分:0)

花了几个小时后,我发现解决方法如下:

  1. 从Gradle应用中运行uninstallAll>任务>安装> uninstallAll(检查图片)
  2. 然后安装到设备上。 (问题仍然存在)
  3. 然后从Android Studio卸载并安装。解决了。​​

enter image description here

答案 6 :(得分:0)

  

我删除了构建文件夹,然后再次重建项目。   重建项目后,可以轻松安装apk。

答案 7 :(得分:0)

如果上述步骤无效,您也可以尝试以下操作:-

在移动设备上切换到“来宾用户”,然后搜索该应用的旧版本是否可用。如果可用,请卸载它。

有时,即使从设备上卸载了该应用程序,它仍然保持安装在该设备的来宾会话中。

这可能有效。

答案 8 :(得分:0)

我找到了发现的解决方案

手机内存已满,您应该释放一些内存空间

答案 9 :(得分:0)

当我将项目从linux复制到mac时,这发生在我身上。 以下步骤对我有用:

  1. 构建干净的项目
  2. 击中奔跑

答案 10 :(得分:-1)

解决方案1:
在我的情况下,我在执行以下操作后遇到了此错误:
 1.我已经复制了源文件夹。
 2.原始文件夹本身就躺在那里。
 3.当我以android项目打开此文件夹并尝试运行该应用程序时,它抛出了此味精。
 4.我只是将原始文件夹名称和新文件夹的名称更改为原始文件夹。错误消失了。

解决方案2:
从当前文件夹导入项目为新项目。