Android Studio多Module开发需要注意的问题

 

 多module开发,其中的一个为入口module,其他module为独立的“应用”(library)

1.在原有的项目导入另外个项目的module为主项目的次module,即在A项目中添加一个启动B项目的入口

  1)右击B项目的module,选择copy path;

  2)右击A项目,New—Module—Import Gradle Project,把上一步拷贝的路径粘贴,一直到完成;

2.build.gradle文件

  1)主module配置为 apply plugin: 'com.android.application',次module为 apply plugin: 'com.android.library';

  2)次module不需要applicationId

  3)dependencies依赖需放入到次module

  4)都加上 multiDexEnabled true

  5)主module导入次module :compile project(path: ':module2')

  6).build.gradle中设置的compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion统一

3.AndroidManifest.xml文件

  1)主module 在application上加上tools:replace="android:name,allowBackup,icon,theme,label"

     同时在顶端加上xmlns:tools="http://schemas.android.com/tools";主要是避免多module的name,icon,theme等冲突

  2)次module把application下的android:name,android:icon,android:label删除,否则安装后,在桌面上会有多个图标;

  3)次module去掉activity的主过滤器

    <intent-filter>

        <action android:name="android.intent.action.MAIN" />

     <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>

4.资源文件的冲突
  jar包的冲突,检查是否重复,在module中都存在了;
类名、文件名等,重复可去修改其中一个,避免重复,资源索引出问题。

基本上就是这些,主要是rebuild后看报的什么错,具体的问题具体去分析处理。

 多module开发,其中的一个为入口module,其他module为独立的“应用”(library)

1.在原有的项目导入另外个项目的module为主项目的次module,即在A项目中添加一个启动B项目的入口

  1)右击B项目的module,选择copy path;

  2)右击A项目,New—Module—Import Gradle Project,把上一步拷贝的路径粘贴,一直到完成;

2.build.gradle文件

  1)主module配置为 apply plugin: 'com.android.application',次module为 apply plugin: 'com.android.library';

  2)次module不需要applicationId

  3)dependencies依赖需放入到次module

  4)都加上 multiDexEnabled true

  5)主module导入次module :compile project(path: ':module2')

  6).build.gradle中设置的compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion统一

3.AndroidManifest.xml文件

  1)主module 在application上加上tools:replace="android:name,allowBackup,icon,theme,label"

     同时在顶端加上xmlns:tools="http://schemas.android.com/tools";主要是避免多module的name,icon,theme等冲突

  2)次module把application下的android:name,android:icon,android:label删除,否则安装后,在桌面上会有多个图标;

  3)次module去掉activity的主过滤器

    <intent-filter>

        <action android:name="android.intent.action.MAIN" />

     <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>

4.资源文件的冲突
  jar包的冲突,检查是否重复,在module中都存在了;
类名、文件名等,重复可去修改其中一个,避免重复,资源索引出问题。

基本上就是这些,主要是rebuild后看报的什么错,具体的问题具体去分析处理。

猜你喜欢

转载自www.cnblogs.com/xgjblog/p/9197952.html