Android Studio修改META-INF提示签名问题

公司是做游戏推广的,推广的游戏包会有很多的渠道包,下发到各个渠道,用于统计推广的效果。今天运营反映有的渠道包在个别手机上提示包损坏或者签名问题,由此引发此篇文章。

因为注意到提示有签名问题所以特地查了一下as的签名方式,原因是因为Android7.0中引入了APK Signature Scheme v2。

V1:是通过ZIP条目进行验证,这样APK 签署后可进行许多修改

V2:验证压缩文件的所有字节,而不是单个 ZIP 条目

由于打渠道包是在apk签名打包完成后修改META-INF文件夹添加渠道信息,这种打渠道的方式简单实用,在V1签名的时候是没有问题的,但是V2签名更加严格所以会出现签名问题

其实在as里的打包里面已经有提示只是一直没有注意。

Android Studio修改META-INF提示签名问题_第1张图片
image

解决方式

在项目的build.gradle 禁用V2签名,这种方式只是暂时解决了问题,以后要研究一下使用新的打渠道包的方式。

 signingConfigs {
        release {
            storeFile file("")
            storePassword ""
            keyAlias ""
            keyPassword ""
            v1SigningEnabled true
            v2SigningEnabled false
        }

    }

总结

只使用V1签名也没有关系,但是在7.0上不会使用更安全的验证方式
只使用V2签名7.0以下会直接安装完显示未安装

所以,自己打包apk的时候推荐V1和V2都勾选,这样的话在Android7.0之前和之后都没有问题

你可能感兴趣的:(Android Studio修改META-INF提示签名问题)