多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后看報的什么錯,具體的問題具體去分析處理。