Android_Gradle打多渠道的渠道包

        这今天在网上搜索了许多资料,发现打多渠道包都是在AndroidManifest.xml中替换渠道名称与渠道号,而我们打得渠道包的渠道号存放在partner.xml文件中,于是我就想build.gradle能不能读取partner.xml文件呢,事实证明是可以的。
   1.首先groovy支持java,那么用java读取txt文件还是很容易的,这样把渠道名跟渠道号就读取进去了。
   2.用渠道号替换partner.xml文件中的渠道号就可以了。
代码如下:   
//替换partner.xml中的id为渠道号
String encoding="GBK";
    File file = new File("assets/type.txt");
    InputStreamReader read = new InputStreamReader(
                    new FileInputStream(file),encoding);
    BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    while((lineTxt = bufferedReader.readLine()) != null){
                        //System.out.println(lineTxt);
String[] channel =lineTxt.split(",")
System.out.println(channel[0]+"——"+channel[1]);
}
task replaceId(type:Copy){
            from("assets"){
                include "partner.xml"
            }
            into("aaa")
            filter{
                String line -> line.replaceAll("123aaa", "123456")
            }   
   }
 上面的代码无法替换xml文件中的渠道号,需要继续优化
一、使用groovy解析XML文件
    a) xml文件内容   
<langs type="current">
  <language>Java</language>
  <language>Groovy</language>
  <language>JavaScript</language>
</langs>
 b)groovy解析xml代码:
      def langs = new XmlParser().parse("languages.xml")
      println "type = ${langs.attribute("type")}"
     langs.language.each{
           println it.text()
}

//output:
type = current
Java
Groovy
JavaScript
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值