AS Module之间的问题(git开源项目下载也是module导入使用)

CC

在一个application当中,可能会存在多个module,有时也会有一个module包含其他module的需求。在完成这个需求时,Google了很多,全是2014年之前的一些老文章,现在AndroidStudio早就已经出了2.1.0正式版,界面发生了天大的改变,所以写一篇文章来说明现在如何将module变为library。
 

假设你自己实现了一个非常好的demo,做测试也非常成功,现在你想要让大家一起使用你的demo,那么你就必须把这个demo变成library,并且有一个实例,也就是说一个完整的application,应该是功能封装的library,以及一个实例module

下面就是一个application实例 

项ç®ç»æ

在这里,app(测试调试)调demo(功能的封装),如何讲 demo 变成 library 。

我们打module的build.gradle(注意是module的,不是application的

moduleçbuild.gradle

可以看到第一行的描述是 
apply plugin: 'com.android.application' 
我们要做的就是将这一行的描述改为 
apply plugin: 'com.android.library' 
注意改的是要成为library的module,而不是调试用的module 
如上图,我改的是demo的build.gradle 

接下来,我们要删除library不能有用的一些属性

android{
    defaultConfig{
        applicationId "com.my.app"
    }
}

没错,applicationId这个属性,要从library中剔除 
这样,我们的app就已经是一个library了 
接下来,我们来将library引用到我们的demo当中 

最后,在 APP 中引用 module 

dependencies {
    implementation 'com.android.support:support-v4:28.0.0'
    implementation project(path: ':demo')
}

å¼ç¨libraryç步骤

注意:app引用,图片不符,方式相同,还请见谅。

引用之后,reBuild我们的项目,之后就可以在我们的demo当中使用app的文件了。

 

提示:

如果提示:Program type already present: XXX

那么就是应为你 module 和 app 重复的使用了 jar 包,只需把module下 gradle 里相关jar的 implementation 改为 api 即可,因为implementation 修饰的只能在当前module中引用,你在app下是引用不了的,你改完重新编译下即可进行引用了。

 

你可能感兴趣的:(AS Module之间的问题(git开源项目下载也是module导入使用))