多module開發,其中的一個爲入口module,其餘module爲獨立的「應用」(library)android
1.在原有的項目導入另外個項目的module爲主項目的次module,即在A項目中添加一個啓動B項目的入口app
1)右擊B項目的module,選擇copy path;post
2)右擊A項目,New—Module—Import Gradle Project,把上一步拷貝的路徑粘貼,一直到完成;gradle
2.build.gradle文件ui
1)主module配置爲 apply plugin: 'com.android.application',次module爲 apply plugin: 'com.android.library';spa
2)次module不須要applicationIdcode
3)dependencies依賴需放入到次modulexml
4)都加上 multiDexEnabled trueblog
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後看報的什麼錯,具體的問題具體去分析處理。