AndroidStudio中Module创建及项目变Module导入其它项目步骤记录

  • 1、创建module
  • 2、添加依赖
  • 3、将已有项目变为module导入到其他项目中
  • 将已有项目更改
  • 将旧项目作为module导入
  • 4、遇到的一些问题
  • 总结


因为经常会写各种各样的功能Demo,每次项目中使用都是打开Demo,然后将相应的功能复制粘贴过去,很是麻烦,要是将Demo项目变为module,然后我们项目中导入该module就会便捷很多,因为很少使用module,所以这次就记录下创建module及导入的流程吧。

1、创建module

通过点击File–New Module–Android Library即可创建

android studio绑定Modler android studio怎么导入module_android

2、添加依赖

点击File–ProjectStructure ,然后点击Dependencies–Modules下的app,然后点击加号添加刚才创建的myLibrary,若找不到刚才创建的myLibrary,则在app下的settings.gradle内加入刚才创建的module

include ':app', ':mylibrary'

完成上述操作后会在app的项目build.gradle里新增该依赖implementation project(path: ':mylibrary')

android studio绑定Modler android studio怎么导入module_android_02

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文件夹

android studio绑定Modler android studio怎么导入module_android_03


android studio绑定Modler android studio怎么导入module_复制粘贴_04

添加时系统会提醒你要更改module的名字,因为我们新建项目的模块名字为app,所以导入那个项目module要更改名字。可以看到,我们原先项目中依赖的modulemylibrary也会被导入进来。导入完成后可以看到项目中已经导入了这两个module。然后就是添加依赖了,和上面的第2步骤一样添加进来即可。

android studio绑定Modler android studio怎么导入module_android_05


android studio绑定Modler android studio怎么导入module_android_06

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 "..."
  • 运行项目时提示merge Manifest冲突,解决方法是将以下Application中的内容清除掉即可,因为它与主App模块的manifest冲突了
<application
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.DynamicForm"
    tools:targetApi="31">

总结

总体还是简单的,因为只是写了个Demo测试下,正常项目中还会遇到module中添加依赖是使用implementation还是api方式等问题,会有哪些问题需要注意,日后项目中遇到再来补充。