31、Android获取meta-data和build.gradle的值

需求:
项目中有一个需求希望是 从gradle 中取值 从mainfase.xml 中取值

一、从mainfase.xml中取值:
1、首先在application 节点下添加
dogson " />
就像这样:
 
       	....
   
        
    


2、其次 获取meta-data中的值,直接看方法:
 public  String getWebEnv() {
        ApplicationInfo appInfo = null;
        try {
            appInfo = mContext.getApplicationContext()
                    .getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            if (appInfo != null && appInfo.metaData != null) {
                String serverName = appInfo.metaData.getString("WebviewUrl");
                return serverName;
            } else {
                Logger.getLogger().e("需要在AndroidManifest.xml中配置WebviewUrl meta数据");
                return "";
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return "";
    }


二、从gralde 中取值:

例如取gradle 中的这个值:
1、首先在application 节点下添加
android :name= "ServerName" android :value= "${ServerName}" />
android :name= "WebviewUrl" android :value= "${WebviewUrl}" />
2、其次在 buildTypes 中 修改 meta-data 中的值
 buildTypes {
        debug {
            manifestPlaceholders = [ServerName: envCode,WebviewUrl:envCode]
          
        }
        release {
            manifestPlaceholders = [ServerName: envCode,WebviewUrl:envCode]

      
        }
    }

3、代码中 取  application meta-data  (代码钱么提过)就可以了。

你可能感兴趣的:(android,application,meta-data,android,基础知识)