我的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"
答案 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