Android 签名大解"/>
Android 签名大解
前言:
开发一个android项目,签名是必须需要学会的,好在android studio 已经强大到你只需选择几下就可以搞定签名文件,接下来我总结一下大体的签名步骤吧!(图片是共享同仁的图片,哈哈哈,别像我这么懒)
1.keystore.jks文件生成,打包APK
选择Build > Generate Signed APK 出现如下弹框:
然后点击Create new...(创建的意思)出现另一个弹框,在做如下操作,如图
第一项,keystore path是路径,点击后面的省略号按钮来选择路径
第二项密码,是个人就能看懂
Alias:别名
confirm:确认,理解为重复输入一次密码
First and Last Name:姓名全称
certificate:证明
organizational Unit:组织单位
organizational: 公司
City or Location :地理位置(城市地点)
State or Province:省市
Country Code:国家编码
d填完这些信息,直接next就可以了。
2.Android Studio 打包时 Signature Version V1 V2
前几天更新了一下Android Studio ,今天在打正式包的时候发现多了个签名版本选择:
(注:偷懒截图,直接共享这位大神的图片了,哈哈。。。)
问题描述(v1和v2)
Android 7.0中引入了APK Signature Scheme v2,v1呢是jar Signature来自JDK
V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。
V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。好处显而易见,更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。
解决方案一
v1和v2的签名使用
只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
同时勾选V1和V2则所有机型都没问题
解决方案二
在app的build.gradle的android标签下加入如下、
signingConfigs { debug { v1SigningEnabled true v2SigningEnabled true } release { v1SigningEnabled true v2SigningEnabled true } }
3.Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK
Android Studio 运行AVD的时候出现:
Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK: /data/app/
解决方法:
File -> Settings... -> Build -> Debuger ->Instant Run 在如图所示取消勾选,OK即可。
4.判断Apk是否签名
用命令:jarsigner -verify -verbose -certs <apk文件>
如果有Android Debug字樣就是debug
如果已经签名: [证书的有效期为13-8-31 下午2:31至41-1-16 下午2:31]
X.509, CN=demoandroid, OU=tianya, O=tianya, L=haikou, ST=hainan, C=cn
[证书的有效期为18-5-1 下午11:16至43-4-25 下午11:16]
[CertPath 未验证: Path does not chain with any of the trust anchors]
sm 372 Fri Nov 30 00:00:00 AST 1979 res/drawable/notification_icon_background.xml
更多推荐
Android 签名大解
发布评论