如何理解Gradle?Grade在Android的构建过程中有什么作用?动态修改AndroidManifest.xml.

如何理解Gradle?
1、首先Gradle是什么?

Gradle是一个基于Groovy的打包、编译的工具,主要面向java应用。

2、Gradle在Android构建过程中有什么作用?

Gradle是Android里最方便也是最好的用来管理第三方库和打包用的工具。
自动下载多种类型依赖库:本地、库依赖、远程依赖。
最方便的地方是支持自定义打包脚本,为多渠道打包提供了便捷的基础。

习题:用gradle脚本打一个渠道名为“1001”的渠道包(不允许使用manifestPlaceholders)。

打开主工程的build.gradle文件
在android{}节点下添加如下代码:

productFlavors {
       //测试
       "1001" {}
   }

//替换AndroidManifest.xml的pkgNmae字符串为渠道名称
   android.applicationVariants.all { variant ->
       variant.outputs[0].processManifest.doLast {
           def manifestFile = "app/src/main/AndroidManifest.xml"

           //将字符串default替换成flavor的名字
           def updatedContent = new File(manifestFile).getText('UTF-8').replaceAll("com.example.hxl.serchwithhistory", "1001")
           new File(manifestFile).write(updatedContent, 'UTF-8')
       }
   }

最终结果:


image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。