cordova-10 打apk

Android升级到api 31后,ionic打出来的release包默认是一个aab文件,要想走以前的手动签名和zipalign的流程我需要打一个没有签名的apk的包,参考以下文章:

Android Platform Guide - Apache Cordova

cordova-10 打apk_第1张图片

 

Ionic Cordova Build for Android and iOS Platform Builds

cordova-10 打apk_第2张图片

 zipalign  |  Android 开发者  |  Android Developers

cordova-10 打apk_第3张图片

于是我们只要在package.json里面配置好打包时是ionic cordova build android --prod --release --buildConfig=build.json

然后在我们的ionic项目下新建一个build.json,里面的内容只留下一个packageType项目,项目的值是apk就好

{
    "android": {
        "debug": {
            "keystore": "../android.keystore",
            "storePassword": "android",
            "alias": "mykey1",
            "password" : "password",
            "keystoreType": "",
            "packageType": "apk"
        },
        "release": {
            "keystore": "",
            "storePassword": "",
            "alias": "",
            "password" : "",
            "keystoreType": "",
            "packageType": "apk"
        }
    }
}

 这样我们再去打包出来的就是一个unsigned的apk。

然后手动签名,我用的是apksigner所以要先zipalign

step1

查一下自己的电脑的build-tools的路径

我的是这个 Android/sdk/build-tools/27.0.4

需要cd到这个目录下才能用zipalign和apksigner工具

然后就执行:

./zipalign -v 4 output.apk(绝对路径) app-release-unsigned.apk(绝对路径)

然后再签名:

apksigner sign -ks xxx.keystore(绝对路径) --v2-signing-enabled true --ks-key-alias your_alia_name --out signed.apk(绝对路径) output.apk(绝对路径)

然后输入你的keystore的密码就签好了。

你可能感兴趣的:(android)