安装APK文件时解析错误

时间:2018-07-10 13:42:36

标签: android

我的apk文件格式如下:

xxxx-debug.apk
xx-xxx-debug-xxx-1.0.1.apk

我可以下载apk文件,但无法安装。我遇到以下错误:

Parse error
    There was a problem while parsing the package.

用于安装的代码:

protected void install(String fileName) {
    Intent install = new Intent(Intent.ACTION_VIEW);
    install.setDataAndType(Uri.fromFile(new File(fileName)),"application/vnd.android.package-archive");
    startActivity(install);
}

下载apk文件时,文件末尾会附加一个数字,例如some.apk成为some-1.apk

到目前为止我已经尝试/检查的内容:

  • 选中“未知来源”选项。
  • 使用权限android:name="android.permission.INSTALL_PACKAGES" tools:ignore="ProtectedPermissions"
  • android设备版本为5.0.1
  • apk文件未损坏,因为我设法以其他方式安装了它

3 个答案:

答案 0 :(得分:0)

请尝试禁用即时运行,然后生成apk。它将起作用。希望有帮助。

答案 1 :(得分:0)

我以前遇到过这个问题。这就是我调试它的方式。 首先,通过终端安装APK adb install path_to_your_app/name_of_your_app.apk 如果收到错误消息: adb: failed to install name_of_your_app.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries 这意味着您要构建的架构与仿真器架构不匹配。

我解决此问题的方法是通过强制build.gradle中的构建体系结构

    buildTypes {
        debug {
            ndk {
                abiFilters 'x86_64'
            }

希望这会有所帮助

答案 2 :(得分:0)

我遇到了同样的问题,对我来说问题是最低 API 级别。我的最低 API 太高了,这意味着某些设备无法使用该应用程序。在 Unity 中,转到:播放器设置 > 其他设置 > 识别 >

最低 API 级别:这应该设置为最低,对我来说是 Android 4.4 'KitKat'(API 级别 19) 最大 API 级别:根据 Google 应将其设置为最大值,请参阅链接 https://developer.android.com/distribute/best-practices/develop/target-sdk