android studio签名打包详解,android内存优化方案

意思我们需要给release版本绑定签名文件,

这里写图片描述

如图,把签名的配置填写完整,点击ok之后会在build.gradle里面生成一个

signingConfigs {

release {

storeFile file(‘buildkey/xxxx’)

storePassword “xxxxx”

keyAlias “xxxx”

keyPassword “xxxx”

}

buildTypes里面的release 里面加上 signingConfig signingConfigs.release

然后就会正常了!!!

v1和v2签名的区别:

v1签名是对jar进行签名,Android 7.0中引入了APK Signature Scheme v2,V2签名是对整个apk签名:官方介绍就是:v2签名是在整个APK文件的二进制内容上计算和验证的,v1是在归档文件中解压缩文件内容。

官方文档是这样解释v2签名的:(地址)

这里写图片描述

大概意思是:

1.用于验证其完整性的APK的加密签名现在位于ZIP中央目录之前。

2.这个签名是在整个APK文件的二进制内容上计算和验证的,而不是在v1的归档文件中解压缩文件内容。

3.一个APK可以同时由v1和v2签名同时签署,所以它仍然可以向后兼容以前的Android版本。

如果只设置V2会引入什么问题呢?

只设置V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证

报错信息为:INSTALL_PARSE_FAILED_NO_CERTIFICATES

只要将签名设置为V2即可解决

同时设置V1和V2则所有机型都没问题

只设置v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式

二者签名所产生的结果:

v1:在v1中只对未压缩的文件内容进行了验证,所以在APK签名之后可以进行很多修改——文件可以移动,甚至可以重新压缩。即可以对签名后的文件在进行处理

v2:v2签名验证了归档中的所有字节,而不是单独的ZIP条目,如果您在构建过程中有任何定制任务,包括篡改或处理APK文件,请确保禁用它们,否则您可能会使v2签名失效,从而使您的APKs与Android 7.0和以上版本不兼容。

可以只勾选v1,但是在Android7.0以上不会应用新的签名方式。如果只勾选V2,Android7.0以下的机子将无法安装APK!

如果 META-INF方式多渠道打包提示安装找不到安装证书 ,在gradle的signingConfigs的对应输出apk配置中加上,

v2SigningEnabled false

手动签名:


如果你有签名文件,可以把apk和jks文件放到同一个文件夹下,

cmd: ———- 进入文件所在盘 ———— 找到文件位置,

签名,回车

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名称 -storepass 签名密码 签名apk名字 签名别名

对齐:

zipalign 4 apk名字 apk新名字

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

以上分享【我的阿里P7移动开发架构师学习笔记】七大模块整套学习资料均免费分享,需要的小伙伴,我已经上传到石墨文档了,大家自取就可以了。白嫖可以,别忘了给我点个关注哈。

当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。

如果你需要,我把他放在GitHub了,无偿分享的。

【Android架构视频+BATJ面试专题PDF+学习笔记】

android studio签名打包详解,android内存优化方案_第1张图片

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
A%EF%BC%81.md)

[外链图片转存中…(img-I6W79hAk-1646652882280)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

你可能感兴趣的:(程序员,架构,面试,android)