【问题标题】:Parse error: there is a issue while parsing the package in marshmallow解析错误:在棉花糖中解析包时出现问题
【发布时间】:2018-06-15 04:48:42
【问题描述】:

在棉花糖设备中安装 apk 时出现解析错误。
它在牛轧糖设备中工作正常。

android {
compileSdkVersion 23
buildToolsVersion "25.0.0"
defaultConfig {
    applicationId "com.graymatic.gmind.mylook"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.4"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true

}

并在日志中显示以下错误

/PackageManager: Failed collect during installPackageLI
                                             android.content.pm.PackageParser$PackageParserException: Package /data/app/vmdl1108144592.tmp/base.apk has no certificates at entry AndroidManifest.xml
                                                 at android.content.pm.PackageParser.collectCertificates(PackageParser.java:1176)
                                                 at android.content.pm.PackageParser.collectCertificates(PackageParser.java:1130)
                                                 at com.android.server.pm.PackageManagerService.installPackageLI(PackageManagerService.java:13205)
                                                 at com.android.server.pm.PackageManagerService.access$3600(PackageManagerService.java:327)
                                                 at com.android.server.pm.PackageManagerService$10.run(PackageManagerService.java:11017)
                                                 at android.os.Handler.handleCallback(Handler.java:743)
                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                 at android.os.Looper.loop(Looper.java:150)
                                                 at android.os.HandlerThread.run(HandlerThread.java:61)
                                                 at com.android.server.ServiceThread.run(ServiceThread.java:46)

【问题讨论】:

  • 请添加更多详细信息:例如崩溃日志
  • 将你的 compile sdk 版本改为 25 或 26
  • Ranjan,我已经改变了,它现在给应用程序没有安装错误。
  • @HadjKhelil Nawrez,添加。

标签: android package-managers


【解决方案1】:

当您生成签名的 apk 时,请同时检查 V1V2compiletarget sdk 版本都更改为 27

编辑:

检查 jar 签名和签名的 apk 签名

【讨论】:

  • 如果apk损坏了如何解决?
  • 你能介绍一下v1和v2吗?
  • 谢谢老兄。检查两者后,它现在工作正常。但没搞清楚是什么问题。
【解决方案2】:

你应该使两个相同的 compileSdkVersion 或 targetSdkVersion

android {
compileSdkVersion 23
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.graymatic.gmind.mylook"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.4"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true

}

【讨论】:

  • targetSdkVersioncompileSdkVersion 设置不同的值是完全可以的,尽管通常targetSdkVersion 具有更高的值(即“我已经验证了我的应用适用于运行 Android Y 的设备,但我只使用最高 API 级别 X"(其中 Y>X)的功能)。像 OP 一样拥有 compileSdkVersion > targetSdkVersion 似乎有点奇怪。
  • 我试过了,它显示我的应用程序未安装错误
【解决方案3】:

还有一个下载位置的问题 在我的棉花糖案例中,我在getFilsDir() 中下载了apk,然后它说解析错误 但是如果我在

中下载它
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

它工作正常,没有解析错误。

filesDir 在棉花糖上面运行良好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2017-05-12
    相关资源
    最近更新 更多