Android studio 下把專案作為module匯入另外一個專案
1.把要匯入的專案變為module
-
把build.gradle檔案下的
apply plugin: 'com.android.application'
改為:apply plugin: 'com.android.library'
同時刪除檔案中的:applicationId "com.dsppa.cxg.devicecontrol" - 在新專案進行匯入:Import module
- 匯入後可能遇到以下問題:
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs
解決辦法:
在主專案的manifest檔案下的根標籤中新增xmlns:tools="http://schemas.android.com/tools"
,
application標籤下新增tools:replace="Android:icon, android:theme"
�
-
匯入後還可能遇到:
1.找不到R檔案
2.
Attribute value must be constant
3.錯誤提示:元素值必須為常量表達式
4.錯誤提示:找不到符號
這主要可能模組中使用了Butterknife導致,可以參考這篇文章解決:http://blog.csdn.net/iehshx/article/details/68064363
2.需要注意的問題
- module下佈局檔名稱最好不要跟主專案資料夾下的佈局檔案重名,否則會出現異常:
NoSuchFieldError: No static field listView1 of type I in class Lcom/disdemo/R$id; or its superclasses
-
如果module下的AndroidMainfest.xml檔案下有
android:name=".common.MyApplication"
主專案下的AndroidMainfest.xml就要再申明瞭 - 要匯入的module包含其他module,匯入時要一起匯入主專案