Android build.gradle读取String中文件及gradle.properties数据

在网上找了好久没有一个完整的学习文档,自己总结下,方便后面使用,话不多说直接上代码

首先获取路径

def  path = getProjectDir().getPath()+"/src/"+variant.productFlavors[0].name+"/res/values/strings.xml"
            System.out.println("path~~~path=" + path)
BufferedReader bufferedReader = null;
            try {
                File file = new File(path);
                FileReader fileReader = new FileReader(file);
                bufferedReader = new BufferedReader(fileReader);
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                   //                    System.out.println("line~~~name=" + line.toString()+"-${variant.buildType.name}" +
//                            ""+",,"+line.toString().contains("<string name="))
                    String a=line.toString( ).split('<string name="')[0].trim();
//                    System.out.println("path~~~path=" + path+"----"+line.toString( ).split('<string name="')[0]+";;;;;"+
//                            (!(("<!--").equals(a))))
                    if (line.toString().contains('<string name="')&&(!(("<!--").equals(a))) ) {//去除注释的String
						//对数据进行分割,截取自己需要的
                        String name1=line.toString( ).split('<string name="')[1]
//                        System.out.println("name1===" +name1)
                        String name2=name1.replaceFirst('">',"=")
//                        System.out.println("name2===" +name2)
                        String name3 = name2.toString( ).split('</string>')[0]
//                        System.out.println("name3===" +name3)
                        if (name3.contains("=")&&name3.contains("app_name")){
                             appName=name3.split('=')[1]
//                            System.out.println("appName===" +appName)
                        }

                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (bufferedReader != null) {
                        bufferedReader.close();
                    }
                } catch (Exception e) {

                System.out.println("无法读取名称。。。" )
            	}
            }
                      

  

            def tempName = variant.productFlavors[0].manifestPlaceholders.name
            def apkName = tempName + "_" + variant.mergedFlavor.versionName ++appName.trim()+ ".apk"
 

下面是获取app方式:

project.name	==app
variant.productFlavors[0].name 
variant.name ==appRelease

//rootProject.ext.isAddRubbishCode

读取gradle.properties

&{"数据"}

完成在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值