用Gradle构建时,将密码等敏感信息放在build.gradle之外

密码 在做版本release时你app的 build.gradle你需要定义 signingConfigs.此时你应该避免以下内容:

不要做这个 . 这会出现在版本控制中。

signingConfigs {
    release {
        storeFile file("myapp.keystore")
        storePassword "password123"
        keyAlias "thekey"
        keyPassword "password789"
    }
}

而是,建立一个不加入版本控制系统的gradle.properties文件。

KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789

那个文件是gradle自动引入的,你可以在buld.gradle文件中使用,例如:

signingConfigs {
    release {
        try {
            storeFile file("myapp.keystore")
            storePassword KEYSTORE_PASSWORD
            keyAlias "thekey"
            keyPassword KEY_PASSWORD
        }
        catch (ex) {
            throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.")
        }
    }
}

完整的例子:

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.jack.umengfeedback"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    signingConfigs {
        release {
            try {
                storeFile file("myapp.keystore")
                storePassword KEYSTORE_PASSWORD
                keyAlias "thekey"
                keyPassword KEY_PASSWORD
            }
            catch (ex) {
                throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.")
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

repositories {
    flatDir {
        dirs ‘libs‘ //this way we can find the .aar file in libs folder
    }
}
dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:22.1.1‘
    compile project(‘:umenglib‘)
    // 依赖的aar
    compile(name:‘kalelibrary‘, ext:‘aar‘)
}
时间: 2024-10-07 05:07:17

用Gradle构建时,将密码等敏感信息放在build.gradle之外的相关文章

使用keychain保存用户名和密码等敏感信息 KeychainItemWrapper和SFHFKeychainUtils

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于 NSUserDefaults.文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在 重装App后,keychain里的数据还能使用.从ios 3.0开始,跨程序分享keychain变得可行. 如何需要在应用里使用使用keyChain,我们需要导入Security.framework ,key

解决MVC Jquery"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题

在ASP.NET MVC项目中,使用AJAX向控制器发送GET请求获取JSON数据时,出现这个错误:"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站.若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet". 其实从返回的这个错误信息我们已经可以知道解决方法了,看这个信息:”因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站“,说明我们只要使用POST请求就可以了.后面的 “若要允许 GET 请求,请将 Jso

AS中加载gradle时出现Gradle sync failed: Could not find com.android.tools.build:gradle.的错误

时间:2019/12/7 这次接着整理加载gradle时出现的错误 出现的错误: 1 Gradle sync failed: Could not find com.android.tools.build:gradle:3.5.0. 2 Searched in the following locations: 3 file:/F:/studio/studio2.0/gradle/m2repository/com/android/tools/build/gradle/2.8/gradle-2.8.p

使用keychain保存用户名和密码等敏感信息 KeychainItemWrapper和SFHFKeychainUtils。

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于NSUserDefaults.文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用.从ios 3.0开始,跨程序分享keychain变得可行. 如何需要在应用里使用使用keyChain,我们需要导入Security.framework ,keych

此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。

return new JsonResult() { Data = new { message = "成功!", }, JsonRequestBehavior = JsonRequestBehavior.AllowGet//加上这一句 };

使用Gradle构建Android项目

新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持.本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译. Gradle是什么? Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具.是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy. 使用gradle的目的: 更容易重用

Gradle构建Java Web应用(转)

转自:http://www.blogjava.net/jiangshachina/archive/2014/02/03/409285.html 本文是发布在java.net上的一篇摘自于<Gradle in Action>一书中的节选,介绍了使用Gradle构建Java Web应用的过程.刚刚接触Gradle,看到了这篇小文,随手译了出来:-) (2014.01.23最后更新) 当今世界,一派繁忙.在职业生涯和私人生活中,我们中间的许多人要同时管理多个项目.你可能常常发现自己处于不知所措及失控

使用Gradle构建你的项目

为什么学习Gradle 1.         配置清晰,简单易懂 2.         比Maven的配置文件更加简洁 3.         强大的Groovy脚本的支持 4.         有上面3个理由就够了 学习Gradle的入口 就像学习SpringMvc一样,首先要找到web.xml中是怎么配置的,然后才能找到各个相关的配置文件,然后具体怎么配置再一个一个的查看. Gradle的主配置文件叫build.gradle ,其他配置文件还有setting.gradle.等等,一般还可以衍生

使用 Gradle 构建 Java 项目

使用 Gradle 构建 Java 项目 这个手册将通过一个简单的 Java 项目向大家介绍如何使用 Gradle 构建 Java 项目. 我们将要做什么? 我们将在这篇文档航中创建一个简单的 Java 项目,然后使用 Gradle 构建它. 需要准备什么? 预留15分钟空闲时间 一件称手的兵器(你最喜欢的 IDE 或者文本编辑器) Java环境([JDK6](http://www.oracle.com/technetwork/java/javase/downloads/index.html”J