android: 用buildConfigField将常量值注入到应用程序

一,代码:

1,build.gradle的配置

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "String", "ENV", '"prod"'
            buildConfigField "String", "API_BASE_URL", '"https://api.baidu.com"'
            signingConfig signingConfigs.debug
        }
        debug {
            buildConfigField "String", "ENV", '"devel"'
            buildConfigField "String", "API_BASE_URL", '"https://apidev.baidu.com"'
        }
    }

2, 代码中获取配置

        //给按钮增加点击事件:当前环境
        Button button2 = findViewById(R.id.downBtn);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //得到当前环境:
                System.out.println("当前环境:"+ BuildConfig.ENV);
                if (BuildConfig.DEBUG) {
                    // 测试版本的行为
                    System.out.println("这是测试版本");
                } else {
                    // 正式版本的行为
                    System.out.println("这是正式版本");
                }
                System.out.println("当前API Host:"+ BuildConfig.API_BASE_URL);
            }
        });

二,测试效果

debug模式

release模式

 

posted @ 2025-06-14 15:22  刘宏缔的架构森林  阅读(17)  评论(0)    收藏  举报