安装Android应用程序时"解析错误:解析程序包时出现问题"

Rag*_*ghu 93 android

我在安装android应用程序(Parse Error : There is a problem parsing the package.)时遇到此错误.我做了以下步骤.

  1. 我第一次安装应用程序,它工作正常.

  2. 我对现有应用程序进行了更改,并在Manifest文件中更改了版本号.

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.openintents.samples.BasicOpenARDemo" android:versionCode="2" android:versionName="1.0.1">
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后我导出应用程序并完成代码签名过程.为此,右键单击"项目"节点>选择"导出".在那里你会看到一个向导.按照步骤完成代码签名.

  4. 我得到了ARDemo.apk文件,然后我将它的名字改为ARDemo1.apk

  5. 然后我将这个apk文件发送到手机SD卡并开始安装我得到了上述错误.

我用谷歌搜索,他们说解压清单文件的问题.

谁能告诉我我的错误?

use*_*750 46

你说第一次安装应用程序时工作正常.

您在两个版本之间概述的步骤的唯一区别是:

  1. 版本号(我假设这没有参与破坏任何东西)
  2. 代码
  3. .apk文件的名称

尝试将ARDemo1.apk文件重命名为ARDemo.apk(确保备份旧版本)并查看是否有帮助.我的猜测是它与apk的名称有关.

如果它仍然不起作用,那么你可以删除apk文件的名称作为问题的根源,并开始调查2)重建旧版本,看看你是否再次遇到同样的问题.如果旧代码的重建版本不存在该问题,那么您知道它必须与您的代码有关.

我希望能把你带到某个地方.

干杯,约瑟夫

  • 我遇到了类似的问题,案例是.gradle文件中的最小SDK版本.想想那个和你的设备的版本,这将是有帮助的. (2认同)

jmu*_*jmu 43

安装可以至少在以下情况下给出指定的错误:

  • 签名后更改包的名称:使用签名包的确切名称(而不是在Manifest中调整名称)
  • 在更高的API级别上编译包:更正Manifest文件中的API级别
  • 从SD卡执行包:从手机内存运行(安装)apk文件或使用adb命令安装它


小智 22

当设备上的Android版本低于编译应用程序的版本时,我只看到了解析错误.例如,如果应用程序是为Android OS v2.2编译的,并且您的设备只有android OS v2.1,则在尝试安装应用程序时会出现解析错误.


Shi*_*dra 13

原因是apk没有签名.一旦apk签名,问题就会得到解决. http://ionicframework.com/docs/guide/publishing.html 请使用说明链接签署apk.

  • Xamarin Android版本对我来说这是一个问题 - 它首先在Archive Manager中创建一个未签名的APK.然后,您必须选择"分发"以创建可以安装的已签名APK. (3认同)

Ven*_*ddy 11

而不是在黑暗中拍摄,通过以下方式安装它来获取此错误的原因adb:

adb -s emulator-5555 install ~/path-to-your-apk/com.app.apk
Run Code Online (Sandbox Code Playgroud)

替换emulator-5555为您的设备名称.您可以使用以下方式获取列表:

adb devices
Run Code Online (Sandbox Code Playgroud)

失败后,它会给出一个理由.常见原因及其修复:

  1. INSTALL_PARSE_FAILED_NO_CERTIFICATES:参考
  2. INSTALL_FAILED_UPDATE_INCOMPATIBLE:参考

  • 这对我帮助很大。谢谢! (2认同)

小智 6

如果您正在SDK版本2.1下编译和导出apk文件,它将无法在SDK导出"2.1"下面的任何Android版本上运行.Android软件向前兼容,不向后兼容.例如,如果您使用Android NDK(安卓附加到安卓SDK)包允许在C/C++系列中进行编程,那么这只与android 2.3兼容,Android 2.2及以下版本仅支持java版本.因此,您将重新启动"解析程序包时出现问题"错误.


Moh*_*tur 6

检查您的设备是否支持您在AndroidManifest.xml的minSdkVersion中指定的版本。如果未指定较低版本,请重试


小智 5

我不再重复这里输入密钥库、密码等的指示。尝试

构建 -> 生成签名 APK -> [ 输入 ] ---下一步 ---> 选择两者

  • V1(罐子签名)
  • V2(完整APK签名)

我不知道为什么,但至少它在我的情况下有效。