1. 程式人生 > >Android studio匯入另外一個專案作為Library後出現兩個啟動專案等各類問題

Android studio匯入另外一個專案作為Library後出現兩個啟動專案等各類問題

首先說正確的 匯入Library的方式:

1.啟動AndroidStudio後,開啟你需要接收Library的專案。比如有兩個專案,專案A,和Library專案B,那麼開啟專案A。

2.在下拉選單中依次找到New— —Import Module,點選開啟專案匯入視窗。注意匯入的是Module而不是Project,如果是Project的話AndroidStudio會自動開啟一個新的視窗編輯,那樣的話就是不Library了。
3.在開啟的視窗中點選右側的"..."瀏覽視窗,在資料夾視窗中找到你要匯入的Library專案的位置,選擇後點擊底部的OK按鈕匯入。
4.匯入視窗中顯示了該Module(專案)的詳細資訊,點選Finish完成匯入。需要注意的是匯入到AndoridStudio專案中的Library也必須是AndroidStudio專案,不能是Eclipse專案,如果是Eclipse專案的話,需要選擇匯出AndroidStudio專案。

5.在專案首頁中選擇Project標籤,可以看到專案的檔案結構圖中多出了我們剛才匯入的專案。Library的匯入就完成了。

如圖:




接下來就是各種問題了:

按F4可以開啟除錯專案,把該library加入到主專案中

1.點選頂部左上角的File選單,在出現的下拉選單中找到Project Structure,點選進入。

2.在視窗左側選擇原始的專案後,點選右側的Dependencies(依賴項)。可以看到專案當前引用的jar包等資訊。

3.點選右側的“+”新增按鈕,在下拉選單中找到Module Dependency(專案依賴),點選開啟專案選擇視窗。

4.選擇前面步驟中匯入的Library專案後,點選OK按鈕匯入到原始專案中。

5.原始專案的依賴項中就出現了匯入的Libray專案,這時在專案中就能正確引用Library專案中的內容了,點選底部的OK按鈕完成新增。


你可能會遇到如下問題

有兩個啟動專案:

他並不是一個library,而是和主工程一樣的圖示,是個小手機的圖示,如有多個小手機圖示,可以做如下修改


在我們作為library的專案裡,他的頭部是apply plugin: 'com.android.application' 
這句話告訴了Gradle將我們要作為library的專案編譯稱為application,也就是apk,這就是問題的所在;
方法就是,將上面該句改為:apply plugin: 'com.android.library'  後,別急 還有問題,Gradle將其編譯稱為一個Library,也就是庫,執行之後,會出現 
Error  :Libraryprojects cannot set applicationId. applicationId is set to 'package_name' indefault config.
那是因為一個庫不允許設定applicationId,需要將builde.gradle — android — defaultConfig中的applicationId刪除。

swich case的問題


我們在Android依賴庫中使用switch-case語句訪問資源ID時會報如下圖所示的錯誤,報的錯誤是case分支後面跟的引數必須是常數,換句話說出現這個問題的原因是Android library中生成的R.java中的資源ID不是常數

ADT 14之後,如果在library 專案中,它會沒有final關鍵字。所以必須使用if else來替換,可以一鍵替換。。。

build.gradle檔案中版本問題


V4或者V7包的版本號如果是25,那麼

compileSdkVersion 25
targetSdkVersion 25
都要改成相應的版本,同時
buildToolsVersion "23.0.3" 要選用較高的版本,最好實時更新SDK,全部選用最新版本。