如何理解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')
       }
   }

最终结果:


如何理解Gradle?Grade在Android的构建过程中有什么作用?动态修改AndroidManifest.xml._第1张图片
image.png
如何理解Gradle?Grade在Android的构建过程中有什么作用?动态修改AndroidManifest.xml._第2张图片
image.png

你可能感兴趣的:(如何理解Gradle?Grade在Android的构建过程中有什么作用?动态修改AndroidManifest.xml.)