Parse error: there is a issue while parsing the package in marshmallow

Parse error: there is a issue while parsing the package in marshmallow

我在 marshmallow 设备中安装 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.access00(PackageManagerService.java:327)
                                                 at com.android.server.pm.PackageManagerService.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)

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

编辑:

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

你应该使两个相同的 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

}

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

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

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

filesDir 在上面的 Marshmallow

中工作正常