玩命狂奔的间隙,莫忘记抬头看看前路的星光

0%

Android APK签名还能惹出事?

老的V1签名方式有风险

最近监管部门对APK进行了审核,发现了一批APK存在这样或那样的风险,其中一个就是使用V1版本的签名,要求至少使用V1和V2两种签名方式混合签名。如果不符合要求,可能会被监管部门下发整改通知噢!

不过这个其实还是比较容易的,在android studio里几分钟就可以设置好了。

开启各种类型的签名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 signingConfigs {
//...
release {
if (project.hasProperty("RELEASE_STORE_FILE")) {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD

v1SigningEnabled true
v2SigningEnabled true
               enableV3Signing = true   //这个需要最新Android Studio 4.2.1才支持
               enableV4Signing = true //这个好像暂时还不支持


}
}
//...
}

验证APK的签名类型

使用android SDK 自带的build_tools/apksigner工具进行查看,是否生效。

1
2
3
4
5
6
./apksigner verify -v /Users/liuyi/work/git/ddschool_deploy/release_server/channel/ddkids/deploy/1.3.0/ddschool_ddkids_1_3_0.apk 
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v4 scheme (APK Signature Scheme v4): false

apksigner命令工具一般在SDK的build_tools里,如:

1
build-tools/30.0.2/

根正苗红的官方文档

软件开发的过程中,文档是很实用的,遇到许多朋友,都喜欢实用各种搜索引擎,其实方法在官方文档里都写很清楚了。想要了解更详细的资料,可以直接去官方网站查看相关的文档,这里直接给出链接。

https://developer.android.google.cn/studio/command-line/apksigner?hl=zh-cn

apksigner:
您可以使用 Android SDK 构建工具的修订版 24.0.3 及更高版本中提供的 apksigner 工具为 APK 签名,并确保 APK 的签名能够在 APK 支持的所有版本的 Android 平台上成功通过验证。