Gradle构建项目时,将敏感信息保存在build.gradle之外
2016-02-24 14:37
447 查看
在做release时,你app的build.gradle定义signingConfigs可能内容是这样的:
由于build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码,会有后续的麻烦。所以呢,我们接下来要做的就是把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。
建立一个不加入版本控制系统的 xxxx.properties文件(个人建在app 下 version.properties)。
注意没有字符串双引号””
注意没有字符串双引号””
注意没有字符串双引号”“
build.gradle下 调用 version.properties 文件
signingConfigs { //签名配置 release { storeFile file("debuge.keystore") storePassword 'pwd123' keyAlias 'zhan' keyPassword 'pwd1234' } }
由于build.gradle文件一般都会集成到代码的版本控制中,这样所有人都会有签名文件的密码,会有后续的麻烦。所以呢,我们接下来要做的就是把签名文件的密码隔离起来,写到一个配置文件中,此配置文件不包含在代码版本控制中,这样其他开发者就不会知道签名文件的密码。
将敏感信息保存在build.gradle之外
gradle的配置文件一般以.properties结束。建立一个不加入版本控制系统的 xxxx.properties文件(个人建在app 下 version.properties)。
storefile=xxx.keystore keyAlias=your alias KEYSTORE_PASSWORD=your.password KEY_PASSWORD=your.password789
注意没有字符串双引号””
注意没有字符串双引号””
注意没有字符串双引号”“
build.gradle下 调用 version.properties 文件
def versionPropsFile = file("version.properties") Properties versionProps = new Properties() android { signingConfigs { //签名配置 release { if (versionPropsFile.canRead()) { versionProps.load(new FileInputStream(versionPropsFile)) storeFile file(versionProps['storefile'].toString()) storePassword versionProps['KEYSTORE_PASSWORD'].toString() keyAlias versionProps['keyAlias'].toString() keyPassword versionProps['KEY_PASSWORD'].toString() } else { throw new GradleException("Could not read version.properties!") } } } }
相关文章推荐
- Android Stuido Ndk-Jni 开发(一):创建简单的JniDemo
- 最长上升子序列 LIS (Longest Increasing Subsequence)
- Android Studio中的错误,finished with non-zero exit value 1
- UIAlertController 部分用法及属性
- UIBezierPath精讲
- WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-ja
- Java设计模式-Builder生成器模式
- QuickSort 递归 分治
- Android stuido 导入项目注意事项
- UINavigationController返回手势失效问题
- LeetCode -- Increasing Triplet Subsequence
- iPhone6中获取到的UITableViewCell的size.width为啥还是320?
- UEditor配置-上传图片或文件时提示后端配置未正常加载
- 带按钮监听机制的简单java GUI
- 关于enumeration value 'xxxxx' not handled in switch的警告
- 范围最小值查询 RMQ (Range Minimum Query)
- SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"
- 使用require.js
- uvaoj-1594:ducci sequence
- perl HTML::TreeBuilder::XPath