Android Studio build生成apk和run生成apk签名不一样

现象

用apksigner查看apk的签名,发现build/intermediate/apk/debug/app.apk\build\intermediates\apk\debug\app.apk两个apk的签名不一样。

shell 复制代码
// run生成的apk签名
Signer #1 certificate SHA-256 digest: bd023c71ce59d607d13f88fb1796708eeb7cac2499732d
Signer #1 certificate SHA-1 digest: 43e77111850e5d49ac07471bc
Signer #1 certificate MD5 digest: 7ca35f903fce678f7589ae

// build生成的apk签名
Signer #1 certificate SHA-256 digest: 66bee293fc13f2fc47ec77bc6b2b0d52c11f51192ab8
Signer #1 certificate SHA-1 digest: 25eadf700e7ea84e4c6eee33dfa
Signer #1 certificate MD5 digest: 8dda5408402d7568af21e29f9

apksigner Android sdk自带的查看apk签名的工具,位于AndroidSDK/build-tools/Android版本/路径下

查看apk签名指令:apksigner verify --print-certs xxx.apk

原因

在启动app之前执行了一个签名脚本,所以run和Build的签名不一样。

相关推荐
alexhilton10 小时前
使用Android Archive进行打包
android·kotlin·android jetpack
badhope11 小时前
做了几年安卓开发,这些坑我帮你踩过了
android·android studio
逐光老顽童2 天前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝3 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu3 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘3 天前
Android OTA 升级原理和流程介绍
android
plainGeekDev3 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev3 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL3 天前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭3 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter