安卓集成发布详解(二)
2016-04-27 17:16
405 查看
上一篇主要讲了安卓版本编译版本发布的过程,本篇主要写版本编译脚本的实现,包括签名文件处理及多渠道版本编译。安卓集成发布详解(一)
##一、签名部分编写 gradle本身支持直接签名,只需要在releas部分添加如下代码即可
一般填上上面的代码即可执行签名,但是一般这种方式不太安全,一般建议不要在build.gradle文件中写上签名文件的密码,这是由于build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码,会有后续的麻烦。所以呢,我们接下来要做的就是把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。
gradle的配置文件一般以.properties结束,我们先新建一个signing.properties文件,内容如下:
注意没有字符串双引号”“
注意没有字符串双引号”“
注意没有字符串双引号”“
重要的事情说三遍
我们上面新建了一个配置文件,用来保存签名文件的信息,并且此文件不会加入到代码版本控制中,达到保护签名文件的目的。接下来我们就应该在guild.gradle文件中读取我们的配置文件,读取的代码如下:
代码很简单,就是读取文件,然后拿到签名需要的四个变量值分别赋值即可。
以上就是签名部分代码,是不是很简单
##一、签名部分编写 gradle本身支持直接签名,只需要在releas部分添加如下代码即可
signingConfigs { debug { } release { storeFile file("../yourapp.keystore") storePassword "your password" keyAlias "your alias" keyPassword "your password" } } buildTypes { debug { minifyEnabled false zipAlignEnabled false shrinkResources false signingConfig signingConfigs.debug } release { minifyEnabled true//混淆编译 zipAlignEnabled true //移除无用的资源文件 shrinkResources true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
一般填上上面的代码即可执行签名,但是一般这种方式不太安全,一般建议不要在build.gradle文件中写上签名文件的密码,这是由于build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码,会有后续的麻烦。所以呢,我们接下来要做的就是把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。
gradle的配置文件一般以.properties结束,我们先新建一个signing.properties文件,内容如下:
STORE_FILE=yourapp.keystore STORE_PASSWORD=your password KEY_ALIAS=your alias KEY_PASSWORD=your password
注意没有字符串双引号”“
注意没有字符串双引号”“
注意没有字符串双引号”“
重要的事情说三遍
我们上面新建了一个配置文件,用来保存签名文件的信息,并且此文件不会加入到代码版本控制中,达到保护签名文件的目的。接下来我们就应该在guild.gradle文件中读取我们的配置文件,读取的代码如下:
File propFile = file('signing.properties'); if (propFile.exists()) { def Properties props = new Properties() props.load(new FileInputStream(propFile)) if (props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') && props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) { android.signingConfigs.release.storeFile = file(props['STORE_FILE']) android.signingConfigs.release.storePassword = props['STORE_PASSWORD'] android.signingConfigs.release.keyAlias = props['KEY_ALIAS'] android.signingConfigs.release.keyPassword = props['KEY_PASSWORD'] } else { android.buildTypes.release.signingConfig = null } } else { android.buildTypes.release.signingConfig = null }
代码很简单,就是读取文件,然后拿到签名需要的四个变量值分别赋值即可。
以上就是签名部分代码,是不是很简单
相关文章推荐
- keepalived工作原理和配置说明
- Leetcode Permutations
- Maven ear pom
- vs2013_arcgis_developer_kit_101_install
- 分享到微信等门户网站代码
- mysqldump 对Mysql数据库 每天完全备份执行脚本
- Android动态壁纸
- [大数据]使用hive做数据分析
- 基于spark的版位价格预测,广告计算
- 使用自定义类加载器和默认类加载器加载两个相同的类
- 内存空间
- Android Studio编译输出apk文件修改文件名
- TextKit学习(四)通过boundingRectWithSize:options:attributes:context:计算文本尺寸
- 安卓集成发布详解(一)
- WBS练习
- ny106背包问题
- Shell教程
- ios获取点击屏幕的位置
- Arduino ESP8266编程深入要点
- git连接svn