最近因为产品上线,需要对写好的安卓app进行打包签名,而签名的方式有三种,分别是V1,V2,V3,这句当我没说。这里来记录下一下怎么使用V1.V2方式对app进行签名。

1.如何打包带签名的apk

在AS的顶部导航栏找到build,找到generate signed bundle/APK
在这里插入图片描述
选择APK,点击下一步
在这里插入图片描述
然后自行配置证书文件和证书密码。配置完成后下一步。
在这里插入图片描述
如上图所示,即可勾选V1或者V2签名方式,当然也可以同时勾选。
点finish完成即可打包对应的带签名证书的安装包了。

当然还有另一种方式进行配置,无需每一次都通过这种过程去进行打包。

配置gradle,在app对应的build.gradle里面新增签名配置属性。

signingConfigs {
        signConfig {
            storeFile file('../yourname.jks') 证书存放位置和名字
            storePassword 'yourpwd' 密码
            keyAlias 'youralias' 别名
            keyPassword 'your aliaspwd' 别名对应的密码
        }
        release {
            v1SigningEnabled false //正式版时对应的签名规则 true使用 false不适用
            v2SigningEnabled true
        }
    }

然后点击右侧的gradle插件进行打包,这时就会读取配置文件进行后台打包了。

2.加固后怎么打包

通常我们需要对apk进行三方加固才正式上线,哪怕没什么用。具体加固方式就不介绍了,每个平台都不太一样。不得不提一下,360是最简单的。

2.1 v1签名加固后的apk

要重新签名加固好的apk,这里需要使用java jdk的jarsigner工具进行重签名。
具体步骤为:
1.将要加固的apk和证书文件存放同一目录,方便使用。
2.然后使用命令行工具定位到当前目录下

jarsigner -verbose -keystore secretkey.jks -signedjar output.apk  input.apk key0

verbose 为参数的详细名称

keystore 是你签名的名称

signedjar 是你想要签名的APK  output.apk 是成功签名后的, input.apk是你准备签名的APK 

secretkey.jks 是证书文件

key0  是你自己签名的别称,默认为key0

然后就是正常运行了。如果jarsigner无法识别的话,可以将其加入到环境变量之中,这样方便些。

2.2 v2签名加固后的apk

和v1就不一样了,v2签名使用的是apksigner.jar即android sdk的build工具。在sdk目录下的lib目录下有。

第一步,安装包对齐
v2签名的安装包加固后会出现直接签名出错的情况,这时,很有可能需要将安装包重新对齐。
使用cmd转到sdk所在目录的build-tools目录下。我的是I:\enviroment\android\build-tools 然后选择一个目录进入,我在开发时,版本是29.0.3 进入之后就可看到zipalign.exe工具文件了。
检查apk是否对齐使用

./zipalign -c -v 4 你的apk名字.apk 

对齐apk使用
./zipalign -v 4 要对齐的apk名字.apk 对齐后apk的名字.apk

./zipalign -v 4 要对齐的apk名字.apk 对齐后apk的名字.apk

这样就可以将加固后的apk对齐了。
第二步 v2签名
进入zipalign所在目录的lib目录下,你会看到一个apksigner.jar的文件。v2打包就要用到这玩意。
将之前对齐后的apk复制到这个目录下,把证书文件也拿过来。
命令行转到该目录
执行指令

java -jar apksigner.jar sign --ks secret.jks --out yourapp_sign.apk yourapp_dq.apk

secret.jks 是证书文件

yourapp_sign.apk 是签名后的安装包

yourapp_dq.apk 是已对齐的安装包

这样V2签名就成功完成了。
在这里插入图片描述
注:如果打包时同时勾选了v1,和v2,那么在二次签名时,直接使用v2签名即可,apksigner也同时支持v1签名。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐