全局变量gradle.properties文件的使用

本文介绍如何在Gradle项目中跨模块使用配置变量,通过gradle.properties统一管理签名信息及敏感数据,实现在不同模块及代码中的灵活引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个项目中通常用多个module,要想多个module里通用一套配置变量,可以将它放在gradle.properties中设置

 

gradle.properties文件的使用

boyrt关注

0.3762018.04.13 16:28:38字数 271阅读 9,841

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

使用场景:

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

一、使用

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)的写法,但是各种尝试后,都报错。

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;
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值