一、环境准备
链接: https://pan.baidu.com/s/1D3WxIL5M5ewyFNTqJzARPw 提取码: pd6w
上篇博文编译的apk文件
1、docker build -t android-build:v1.0.1 . 直接制作镜像
2、docker run -it android-build:v1.0.1 /bin/bash 运行进入容器
指定sdk的路径,然后直接打包
3、将容器里面的apk复制到mac宿主机上
宿主机执行,docker ps 查看容器id
docker cp a3f70115a2ca:/home/work/EmptyProject/app/build/outputs/apk/release/app-release.apk ./
二、创建密钥文件,手动创建
1、命令创建密钥文件
keytool -genkey -v -keystore test.keystore -alias YYY -keyalg RSA -validity 4000
( YYY是 别名,4000是有效天数4000天 生成密钥文件 test.keystore)
执行命令之后会提示你设置密码,以及一些公司名称之类的;密码一定要记住,其他随意。
文件创建成功,不能使用 cat命令查看密钥文件,乱码。
2、查看密钥文件
keytool -list -v -keystore test.keystore
3、开始签名
格式: jarsigner -verbose -keystore 签名 -signedjar 签名文件后的文件名 需要签名文件 证书里alias别名
jarsigner -verbose -keystore E:\xxx\test.keystore -signedjar
xxxx签名后的xxx.apk D:\xxx\未签名的xxx.apk testalias
如下 :jarsigner -verbose -keystore D:\test1.keystore -signedjar flutter_demo.apk
E:\Flutter\flutterdemo\build\app\outputs\flutter-apk\app-release.apk YYY
我这边是将文件都放在了同一个文件夹了,执行命令如下:
jarsigner -verbose -keystore test.keystore -signedjar my_signed_app.apk app-release.apk YYY
签名成功!
三、参考
apk反编译和重新打包流程_apk反编译后重新打包-CSDN博客
Flutter给APK签名—两种方式(android 安装包)-CSDN博客