因为经常会写各种各样的功能Demo,每次项目中使用都是打开Demo,然后将相应的功能复制粘贴过去,很是麻烦,要是将Demo项目变为module,然后我们项目中导入该module就会便捷很多,因为很少使用module,所以这次就记录下创建module及导入的流程吧。
1、创建module
通过点击File--New Module--Android Library即可创建
2、添加依赖
点击File--ProjectStructure ,然后点击Dependencies--Modules下的app
,然后点击加号添加刚才创建的myLibrary
,若找不到刚才创建的myLibrary
,则在app
下的settings.gradle
内加入刚才创建的module
,
include ':app', ':mylibrary'
完成上述操作后会在app
的项目build.gradle
里新增该依赖implementation project(path: ':mylibrary')
3、将已有项目变为module导入到其他项目中
因为经常要为一些功能模块写Demo
测试,那如何将我们已有的项目作为module
导入其他项目中而不是仅仅将代码复制粘贴过去再重新使用呢?
将已有项目更改
在我们原先项目ModuleDemo
内对app
下的build.gradle
文件进行修改
将apply plugin: 'com.android.application'
改为apply plugin: 'com.android.library'
,然后删掉defaultConfig{}
内的applicationId "com.example.moduledemo"
即可。
将旧项目作为module导入
新建项目AnotherModuleDemo
,然后点击File--New--Import Module来添加我们刚才更改过的项目ModuleDemo
,注意选择的时候是选择ModuleDemo
项目目录下的app
文件夹
添加时系统会提醒你要更改module
的名字,因为我们新建项目的模块名字为app
,所以导入那个项目module
要更改名字。可以看到,我们原先项目中依赖的module
,mylibrary
也会被导入进来。导入完成后可以看到项目中已经导入了这两个module
。然后就是添加依赖了,和上面的第2步骤一样添加进来即可。
4、遇到的一些问题
添加module时显示Unable to resolve dependency for
- 先看
module
中的代码是否正确,不报错才行 - 可能创建的
module
格式有问题,应该创建module
时选择Android Library
而不是PhoneModule
- 在该
module
下的build.gradle
文件里应该将apply plugin: 'com.android.application'
更改为apply plugin : 'com.android.library'
,在defaultConfig
里注释掉applicationId "..."
总结
总体还是简单的,因为只是写了个Demo
测试下,正常项目中还会遇到module
中添加依赖是使用implementation
还是api
方式等问题,会有哪些问题需要注意,日后项目中遇到再来补充。