我在安装android应用程序(Parse Error : There is a problem parsing the package.)时遇到了这个错误。我完成了以下步骤。
我在谷歌上搜索过,他们说解压清单文件有问题。
有人能告诉我我哪里出问题了吗?
发布于 2019-12-11 15:48:27
我在Android-8上测试的Parse Error : There is a problem parsing the package.遇到了这个问题。我有相同的apk与相同的签名.Everything是相同的,没有版本号和版本名。当我手动安装应用程序时,它正在安装,但当我以编程方式下载和安装更新时,出现此错误。然后我找到了问题的原因。
有一个选项可以在此方法返回true时检查canRequestPackageInstalls (),然后应用程序成功安装。在我的情况下,它总是返回false。
所以我首先检查这个,然后让用户下载并安装更新。
onCreate()中的
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (!packageManager.canRequestPackageInstalls()) {
startActivityForResult(
Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).setData(
Uri.parse(String.format("package:%s", packageName))
), requestCodeqInstallPackage
)
} else {
canInstallPackage = true
}
}onActivityResult()中的
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
if (requestCode == requestCodeqInstallPackage && resultCode == Activity.RESULT_OK) {
if (packageManager.canRequestPackageInstalls()) {
canInstallPackage = true
}
} else {
canInstallPackage = false
Toast.makeText(mContext, "Auto update feature will not work", Toast.LENGTH_LONG)
.show()
}
}然后当需要安装更新时-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if(canInstallPackage){
doInstallAppProcess()
}else{
// generate error message
}
}希望它能帮助到一些人。
https://stackoverflow.com/questions/1492401
复制相似问题