gradle.properties文件的使用

时间长了总是忘记这部分内容,笔记记录下,便于勾起回忆(呵呵)

使用场景:

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

一、使用

1.gradle.properties添加内容

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

NAME=jack
PASSWORD=234124
PORT = 8080

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

    signingConfigs{
        release{
            storeFile file("相对或绝对路径")
            storePassword STORE_PASSWORD
            keyAlias ALIAS
            keyPassword ALIAS_PASSWORD
        }
    }

注:网上看到storeFile file(PATH)的写法,但是各种尝试后,都报错。

《gradle.properties文件的使用》 image.png

3. 代码中引用

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

buildTypes {

    debug {
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String","USERNAME","\"${NAME}\""//java代码中引用的定义形式
        buildConfigField "int","port",PORT
        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;
}

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

    原文作者:boyrt
    原文地址: https://www.jianshu.com/p/9fcfd385027b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞