Android开发录我爱编程android

gradle.properties文件的使用

2018-04-13  本文已影响503人  boyrt

使用场景:

  • 签名信息
  • 敏感信息(账号、密码等),且很多类共同使用。

一、使用

1.gradle.properties添加内容

PATH=./keystore.jks
STORE_PASSWORD=123456
ALIAS=alias
ALIAS_PASSWORD=2399213

NAME=jack
PASSWORD=234124

2.在build.gradle(Module:app)文件中使用

    signingConfigs{
        release{
            storeFile file(PATH)
            storePassword STORE_PASSWORD
            keyAlias ALIAS
            keyPassword ALIAS_PASSWORD
        }
    }

3. 代码中引用

在build.gradle(module app)中进行变量的重定义,即将配置内容转化成代码中能引用的形式。
代码中引用分为java代码和xml文件中应用。

buildTypes {

    debug {
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String","USERNAME","\"${NAME}\""//java代码中引用的定义形式
        resValue "string","password","${PASSWORD}"//资源文件中,xml文件中引用的定义形式
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String","USERNAME","\"${NAME}\""
        resValue "string","password","${PASSWORD}"
    }
}

在java代码中引用:

String userName = BuildConfig.USERNAME;

在xml中引用:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/password"
    />

知识拓展

android 中读取properties文件

编写代码的时候,有些变量经常变动,为了修改方便(避免漏改,提高效率),可以把变量卸载properties文件中

在assets文件夹中,常见test.properties文件,内容格式:

user=jack

java代码中取值:

public static String getPropertiesURL(Context c, String s) {
    String name= null;
    Properties properties = new Properties();
    try {
        properties.load(c.getAssets().open("test.properties"));
        url = properties.getProperty(s);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return name;
}

敏感信息不能通过该形式保存。

上一篇下一篇

猜你喜欢

热点阅读