@打杂程序猿 你好,想跟你请教个问题:
根据我查的资料,在Gradle批量打包时,需要在build文件中增加
buildTypes { hiapk { packageNameSuffix ".hiapk" } playstore { packageNameSuffix ".playstore" } }
这样便会打出两个渠道的包。但现实打包时需要在manifest文件中更改每个渠道对应的渠道号,下面这段代码可以实现将渠道对应的名字替换到相应的位置。
android.applicationVariants.all{ variant -> variant.processManifest.doLast{ copy{ from("${buildDir}/manifests"){ include "${variant.dirName}/AndroidManifest.xml" } into("${buildDir}/manifests/$variant.name") filter{ String line -> line.replaceAll("CHANNEL_VALUE", "$variant.dirName") } variant.processResources.manifestFile = file("${buildDir}/manifests/${variant.name}/${variant.dirName}/AndroidManifest.xml") } } }
但这时假如我有很多的渠道,便需要在上面的build-types中增加相应的渠道配置,这样就很麻烦了。
有没有其他的办法可以批量动态的打包且修改渠道号?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
写shell脚本生成.....
例如.你有一堆 渠道的的数据
然后用awk for 循环一次生成这个脚本..
######
用build flavor啊
详见
http://devyang.me/blog/2014/11/03/android-gradle-duo-qu-dao-da-bao-pei-zhi/
######不行啊,不起作用,值改不了######按照Android Gradle的使用指导,可以创建与工程目录app/main同级的渠道目录,并且渠道目录下面的子目录结构与main完全一直,这样就可以在该目录结构下,放置与mian目录下有区别的文件。同时配置productFlavors{},这样就可以了。具体请参照:http://developer.android.com/sdk/installing/studio-build.html#workBuildVariants