Android Studio 添加引用Module项目
- 新建Android项目,修改为Module
新建一个android项目
给项目命名,这里命名为MyLibrary,作为可引用的Module项目
点击下一步,选择一个Activity,点击ok
下面将这个android工程改为Module库:
在app的gradle下进行设置:
(1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com.android.library’;
(2)注释或删掉applicationId "com.library.mylibrary";
然后sync
- 添加并引用Module
新建一个Android工程调用刚刚的Module,输入项目名称,代表当前的可运行的应用程序,点击下一步,直到完成。
在MyApplication项目中,点击File--New--Import Module,如下图:
点击文件浏览按钮,选择我们刚刚建立的MyLibrary项目,勾选Import,给Module name重新命名(因为当前的项目程序名称是app,不能重复),然后Finish即可,如下图:
此时我们发现项目里并没有导入的Module,如下图,还需要进行设置
在setting.gradle中将Module包含进来,在include后加上‘:applibrary’, applibrary就是我们刚刚重新命名的Mudule name,如下图:
然后sync一下,就会看到导入进来的model啦,如下图:
等等,还没有完成呢
下面给app添加依赖module
在app上右键,选择Open Module Settings,如下图:
点击右边绿色“+”号,选第3个, 选择自己的module加入,点击OK,如下图:
然后就加入成功了,此时不要忘了点击OK,如下图:
然后在app的gradle的dependencies下,添加implementation project(':applibrary'),然后sync,如下图:
下面开始调用添加的Module,在MyApplication的MyActivity中调用MyLibrary项目的MainActivity,代码如下:
开始运行程序,首先进入MyApplication的页面,如下:
点击click me,跳转到MyLibrary的页面,如下:
注意:
(1)MyApplication的gradle的dependencies下引用的包的版本号要与MyLibrary一致;
(2)两个项目中的AndroidManifest.xml文件中的图标,主题等要一致;
(3)被调用的Library库中不能使用switch…case语句,改为if…else
(4)Android引用aar包后会出现两个图标的解决办法
在需要打包的manifest.xml中去掉intent-filter里的内容,如图红框中:
(5)在调用的地方java文件和资源文件的命名不要和打包项目里的文件重名,否则也会报错。
------------END----------
(拂树浓舒碧,萦花薄蔽红)