/HenCoderPlusHomework

HenCoderPlusHomework

Primary LanguageGroovy

HenCoderPlusHomework - 21

根据本地 Library 名称选择依赖

我们知道 rootProject 代表整个统一的项目,而通过rootProject#subprojects 可以轻易的获得该项目下的所有子项目。

  • 通过 rootProjectsubprojects 属性,写一个可以根据子项目名称选择依赖的方法。

  • 可以直接写在build.gradle。(不需要考虑子项目的子项目)

举例

项目结构如下

rootProject {
    :app
    :library-1
    :library-2
    :hencoder-plugin
}

app#build.gradle 中编写代码,让app 依赖library-1library-2 但是不依赖 hencoder-plugin


通过 Plugin 修改apk文件

我们知道通过 Android Gradle 的 processManifest 可以轻易的获得 APK merge 后的最终清单文件。

  • 通过获取对应的 Task 对 APK的清单文件进行一些修改。

  • 通过上传到本地 repo 的方式,将这个plugin 通过 classpath 依赖使用。

举例

创建一个 plugin ,在使用改pluginproject 中,找到processManifest Task,在他的doLast{} 中,对清单文件中的所有Activity ,全部添加一个 android:launchMode 属性。