- 如何注册并初始化接口实现类
首先我们来说说如何生成接口aar,大家都知道aar对应的是一个独立的module,那如何自动生成该module? 从微信的实现上看它是为setting新增了include_with_api方法,并修改了gradle指向的setting实现类,从而在初始化setting类时自动生成接口module。 由于个人研究时间有限目前采用取巧方案,在setting.gradle文件中新增include_with_api方法用来自动生成接口module,而build.gradle和AndroidManifest.xml文件皆从实现module中拷贝过来,并修改AndroidManifest.xml中的package以及去掉android:label信息,再去掉原有build.gradle的接口module依赖,从而顺利解决接口module生成方式。
def include_with_api(def projectName) {
include projectName
String rootDir = rootDir.getAbsolutePath();
String moduleName = ((String) projectName).replace(“:”, “”)
String parentName = moduleName.replace(“plugin-”, “”);
copy() {
from rootDir + ‘/’ + parentName + ‘/build.gradle’
into rootDir + ‘/’ + moduleName + ‘/’
filter { line ->
String content = line;
if (content.contains(moduleName))