Android编译Release版本
来源:互联网 发布:金山 阿里 腾讯 视频云 编辑:程序博客网 时间:2024/05/16 06:53
1. 签名文件
android开发的最终目的,就是要将Release版本发布给用户使用。编译Release最重要的一步,就是应用签名。android系统要求每个应用都需要有签名,android系统不会安装没有签名的app。
如何生成签名文件的教程网上较多,这里就不重复。
2. Gradle配置签名文件
android studio编译签名的版本可以通过Build -> Generate Signed APK,但是这种方式每次都要选几次,挺麻烦的。最重要问题是要是在专门的编译机编译Release版本的时候,就只能通过命令行了。
在命令行输入“./gradlew assembleRelease”就能生成Release版本,但是需要在build.gradle里面配置签名文件:
android { signingConfigs { releaseSigning { storeFile file(getRootDir().getPath() + '/release-tools/xxx.keystore') storePassword 'xxx' keyAlias 'xxx' keyPassword 'xxx' } } buildTypes { release { signingConfig signingConfigs.releaseSigning } }}
但是build.gradle是项目里面的一个文件,需要提交到版本管理(如git、svn)上去的,如果这样写的话,就会暴露签名文件的密码了。
3. 更好的做法
比较好的方式,是将密码、文件的路径写在一个配置文件或者系统属性里面,然后在编译脚本里面去读取。
更好的方式,是使用gradle的apply from
,它的含义类似于android布局的include,即将某个文件的内容包含到当前文件里面。这样的话,就可以将上面的配置签名的代码放到文件里面(如cert.gradle),然后只需要在build.gradle里面写:
if (file(getRootDir().getPath() + "/release-tools/cert.gradle").exists()) { apply from: '../release-tools/cert.gradle'}
这段代码的含义:如果在项目的release-tools找到cert.gradle文件的话,就将该文件的内容包含到编译脚本里面。
这样密码就不会提交到git上面了,也不需要在系统属性里面配置,只需要保存xxx.keystore、cert.gradle,所以除非某人有这两个文件,否则./gradlew assembleRelease就生成没有签名的apk。
- Android编译Release版本
- android只编译release版本
- android 如何编译release版本的应用
- Android studio 编译 release版本 命令
- 编译本地服务器Release版本
- FFMPEG release版本编译出错
- VC++6.0编译release版本
- 编译release版本签名系统
- CMAKE 编译Debug/Release版本
- Android Stuidio打包release版本
- android release版本需要数字签名
- android release版本混淆排查
- VC 设置默认编译运行release版本
- Geos编译方法详谈(Release版本)
- Activemq-CPP编译及release版本
- Release版本编译CView GetDocument失败原因
- 如何指定让Android的NDK工具编译出Release版本或Debug版本的Native程序
- 将编译AS3区分Debug版本和Release版本
- 字符串中找出连续最长的数字字符串的实例代码
- Android面试之Java引用类型简答
- Hadoop 集群监控
- 看,这个工具栏能伸缩折叠——Android CollapsingToolbarLayout使用介绍
- 被搞得晕头转向的LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
- Android编译Release版本
- 一步一步实现自定义控件(二)
- Windows10系统下,彻底删除卸载MySQL
- 顺序表应用5:有序顺序表归并
- 比特币的技术——未来虚拟世界的地契
- SGU 101 - 120小结
- CodeForces 665B【暴力】
- # Executor源码分析
- [Leetcode] Is Subsequence