因为经常会写各种各样的功能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方式等问题,会有哪些问题需要注意,日后项目中遇到再来补充。












网友评论