安卓apk文件签名

一、环境准备

链接: 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别名

java 复制代码
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

我这边是将文件都放在了同一个文件夹了,执行命令如下:

bash 复制代码
jarsigner -verbose -keystore test.keystore -signedjar my_signed_app.apk app-release.apk YYY

签名成功!

三、参考

apk反编译和重新打包流程_apk反编译后重新打包-CSDN博客

Flutter给APK签名---两种方式(android 安装包)-CSDN博客

相关推荐
圆号本昊20 小时前
Flutter Android Live2D 2026 实战:模型加载 + 集成渲染 + 显示全流程 + 10 个核心坑( OpenGL )
android·flutter·live2d
冬奇Lab21 小时前
ANR实战分析:一次audioserver死锁引发的系统级故障排查
android·性能优化·debug
冬奇Lab21 小时前
Android车机卡顿案例剖析:从Binder耗尽到单例缺失的深度排查
android·性能优化·debug
ZHANG13HAO1 天前
调用脚本实现 App 自动升级(无需无感、允许进程中断)
android
圆号本昊1 天前
【2025最新】Flutter 加载显示 Live2D 角色,实战与踩坑全链路分享
android·flutter
小曹要微笑1 天前
MySQL的TRIM函数
android·数据库·mysql
mrsyf1 天前
Android Studio Otter 2(2025.2.2版本)安装和Gradle配置
android·ide·android studio
DB虚空行者1 天前
MySQL恢复之Binlog格式详解
android·数据库·mysql
liang_jy1 天前
Android 事件分发机制(一)—— 全流程源码解析
android·面试·源码