Android Studio匯入專案的幾種方法

yangxi_001發表於2016-01-28

Android Studio預設使用 Gradle 構建專案, Eclipse 預設使用Ant構建專案。建議Android Studio匯入專案時,使用 Gradle 構建專案。

匯入 Eclipse 專案

本例中,使用到的 Eclipse 專案結構如圖:



e-demo 為主專案, appcompat_v7 為 library 專案。

匯入 Generate Gradle build files 專案

Google官方建議是通過本方法進行Android Studio匯入 Eclipse 專案。

這種方式有一個好處就是相容 Eclipse 的檔案目錄結構,通過版本控制中的檔案過濾,可以在一個專案組中,同時使用 Eclipse 和Android Studio。

講解1

File --> Export



講解2

選擇匯出型別。選擇 Android --> Generate Gradle build files 。



點選 Next 。

講解3

很長一段英語(完全看不懂是什麼意思)。



點選 Next 。

講解4

選擇要匯出的專案。



因為我的 e-demo 專案依賴了 appcompat_v7 專案,所以我將 e-demo 和 appcompat_v7 都選擇了匯出。

點選 Next 。

講解5

最終確認要匯出的專案。



Force overriding of existing files 表示覆蓋匯出檔案。使用 Generate Gradle build files 的方式匯出專案,會在專案目錄中生成一些檔案。這裡的覆蓋檔案指的就是覆蓋這些可能已經生成過的檔案。如果你之前有使用這種方式匯出過專案,建議勾選。

點選 Finish 。

講解6

這一步沒有什麼好說的,直接點選 Finish 。



講解7

Finish 點選完畢,並沒有彈出視窗顯示匯出的專案,就好像什麼事情都沒有做一樣。其實,使用這個方式匯出專案,是在專案中新增了一些檔案,我們可以到專案目錄下去看一看這些生成檔案。

工作空間目錄下



e-demo 目錄下



appcompat_v7 目錄下



我們可以發現:在工作空間目錄下,多出了 gradle 資料夾和 build.gradle 、 build.gradle 、 gradlew 、 gradlew.bat 、settings.gradle 檔案;在 e-demo 目錄下多出了 build.gradle 檔案; 在 appcompat_v7 目錄下多出了 build.gradle 檔案。這些檔案和資料夾都和 Gradle 有關係,用於構建專案。這些檔案以及資料夾的作用,我們以後再說。

講解8

由於 Eclipse 的 ADT 外掛已經很久沒有更新了,自動生成的 Gradle 編譯設定已經跟不上Android Studio的更新速度,所以我們需要手動修改一些內容。

開啟工作空間目錄下的 gradle --> wrapper --> gradle-wrapper.properties 。修改一下內容:distributionUrl=http\://services.gradle.org/distributions/gradle-a.b.c-all.zip -->distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

開啟工作空間目錄下的 build.gradle 檔案。修改以下內容:

classpath 'com.android.tools.build:gradle:0.x.+' --> classpath 'com.android.tools.build:gradle:1.0.0' 。

之所以這麼設定,是因為: Eclipse 匯出的 Gradle 設定已經不是Android Studio 1.0 所支援的 Gradle 已經 Gradle 外掛版本,需要手動更為支援的版本。否則輕則必須不能離線匯入專案,重則專案匯入失敗。

講解9

開啟Android Studio,選擇 Open an existing Android Studio project



講解10

此時會彈出一個框,讓你選擇資料夾,這個時候需要注意的就是,你需要選擇原來的 Eclipse 的工作空間目錄,而不是 e-demo 目錄。



點選 OK 。

講解11

設定匯入選項。



此處有一些比較重要的設定需要講解一下。

  • Gradle project :此處通常顯示的路徑並不是你的 Eclipse 的工作空間的目錄,而是 Eclipse 的工作空間的目錄中的 gradle 路徑。你需要手動刪除後面的 gradle ,否則專案匯入,你是看不到你的程式碼的,只能看到 gradle 目錄下的內容。
  • Create directories for empty content roots automatically :不是很明白它的作用,一般預設即可。
  • Use default gradle wrapper(recommended) 和 Use local gradle disribution :這兩個是讓你設定使用的 Gradle 。預設會勾選 Use default gradle wrapper(recommended) ,我們需要手動勾選 Use local gradle disribution 。
  • Gradle home :勾選 Use local gradle disribution 後此項程式設計可編輯狀態,預設的此處的地址為Android Studio安裝目錄中的 Gradle 路徑地址。此處可能會有一些錯誤的警告,提示內容為: Gradle location is incorrect 。而你的這個目錄下,確實是有 Gradle 的。產生這個問題的原因,很可能是因為 Gradle home 選項中,路徑中的斜槓為 / 而不是 ** 。你需要點選左右的檔案選擇按鈕,重新選擇到Android Studio安裝目錄中的 **Gradle ,問題即可解決。
  • Offline work :設定 Gradle 使用離線的方式匯入專案。你可以勾選也可以不勾選。如果你有進行 講解8 的操作,你則可以勾選,以離線的方式進行編譯。


點選 OK 。之後便會看到編譯進度條,根據每個人機器的配置,編譯的時間不同。



編譯完成之後,自動跳轉到Android Studio的主頁面。在編譯的工程中,會有以下的彈框:



之所以有這個彈框,是因為Android Studio預設使用 JAVA 1.7 進行編譯,如果你的專案不是 1.7 ,則會彈框讓你選擇。建議選擇 Yes ,因為當你使用 JAVA 1.7 的時候,只要不使用 JAVA 1.7 的資源自動釋放這個新特性,能夠完美得相容 JAVA 1.6 的Android裝置。

如果你看到下面這個介面,說明你已經匯入成功了。


直接匯入 Eclipse 專案

如果不使用 Generate Gradle build files 匯出專案,可以使用Android Studio直接開啟 Eclipse 工作空間,進行專案匯入。

不使用 Gradle 編譯專案

這種方式可以相容 Eclipse 的檔案目錄結構,通過版本控制中的檔案過濾,可以在一個專案組中,同時使用 Eclipse 和Android Studio。但是在Android Studio中並不是使用 Gradle 構建專案,而是使用的 Ant 。

講解12

開啟Android Studio,選擇 Import Non-Android Studio project



在彈出的目錄選擇框中,選擇 Eclipse 的工作空間 。

講解13

接下來回讓你選擇編譯環境。選擇 Create project from existing sources 。



講解14



設定 Android Studio Project 名稱以及存放目錄。一般預設即可。

點選 Next 。

講解15



選擇資原始檔以及資原始檔夾。根據你需要匯入的專案進行勾選。選擇一個專案的時候,你需要選擇它依賴的 Library 專案以及他的 src 和 gen 目錄。

選擇完畢,點選 Next 。

講解16



選擇要匯入的 jar 。第一個 .mylyn 是 Eclipse 外掛的內容,我們需要手動過濾掉,其他的根據你的需要,進行選擇。

選擇完畢,點選 Next 。

講解17



選擇Android Studio識別出的 Module ,也就是 Eclipse 中的 Project 。勾選你想匯入的專案即可。

選擇完畢,點選 Next 。

講解18



選擇編譯的 SDK 。在這裡,你需要選擇 Android SDK ,最好和之前使用 Eclipse 時使用的SDK一樣。同樣,你也可以再次進行一些簡單的環境設定,在此就不說了。

選擇完畢,點選 Next 。

講解19



選擇識別出的 AndroidManifest.xml 檔案。預設全部勾選即可。

點選 Finish ,Android Studio就開始匯入專案了。

講解18

在匯入的過程中,如果Android Studio識別出原專案的依賴關係,便會彈出對話方塊讓你進行選擇。如果想保持之前的依賴關係,點選 OK 即可。



當你看到這個介面,就表示匯入成功了。專案使用 Ant 構建,並不是Android Studio 預設的 Gradle 。


使用 Gradle 編譯專案

本方法有一個缺點就是,一次只能匯入一個 Eclipse 專案。對於那些只使用到了官方系列的支援包的 Eclipse 專案來說,會方面很多,而且同時相容Eclipse 檔案目錄結構。

講解19

開啟Android Studio,選擇 Import Non-Android Studio project



在彈出的目錄選擇框中,選擇 你想匯入的專案所在的目錄,而不是 Eclipse 的工作空間 。



講解20 

Android Studio識別出你的專案是一個 Eclipse Android 專案,它將重新使用 Gradle 構建專案。

Android Studio會完整複製專案檔案到一個新的目錄中,你需要設定這個新目錄的地址。



設定完畢,點選 Next 。

講解21

將之前 Ant 架構改變為 Gradle 架構。

 

  • Replace jars with dependencies,when possible :將 Ant 的 jar 依賴關係使用 dependencies 重構。
  • Replace library sources with dependencies,when possible :將 Ant 的 library 專案的依賴關係使用 dependencies 重構。
  • Create Gradle-style(cameCase) module names :使用 Gradle 的樣式構建Android Studio的 Module名稱。


建議全選,點選 Finish 。Android Studio開始編譯專案,同時進入Android Studio主頁面。

同樣的,在編譯的過程中,依然會提示你語言等級的問題,選擇 Yes 。


匯入Android Studio專案

Android Studio專案,指的是使用 Gradle 進行構建的專案。預設的檔案結構如下:

project-name
+ app/
    + src/
        + main/
            + assets/
            + java/
                + package
                ...
            + res/
                + drawable/
                ...
                + layout
                ...
                + values
                ...
            | Androidmanifest.xml
    | build.gradle
+ gradle/
    + wrapper/
        | gradle-wrapper.jar
        | gradle-wrapper.properties
| build.gradle
| gradlew
| gradlew.bat
| settings.gradle


有的一些Android Studio專案有對 Eclipse 做相容處理,專案結構看起來和 Eclipse 是相同的。

講解22

當你從網路上或者其他地方獲取到一份Android Studio專案原始碼時,你希望能夠匯入到Android Studio中。首先,你需要先對這份原始碼進行一些修改。具體的修改內容,請參照 講解8 。

開啟Android Studio,選擇 Open an existing Android Studio project



在彈出的路徑選擇框中,選擇你要匯入的Android Studio專案,點選 OK 。

講解23

然後會彈出和 講解11 相同的頁面,同樣,和 講解11 進行一樣的設定即可。



之後的步驟,同 講解11 ,在此不再贅述。

其他匯入方式

匯入一個專案除了在Android Studio起始頁進行匯入之外,你也可以在Android Studio主頁中進行匯入。
File --> Import Project 或者 File --> Import Module 。



匯入的過程和前面的講解都是一樣的,就不在贅述了。

 

 

鑑於Android官網上下載很慢,Android Studio等已在網盤分享:Android Studio 網盤下載路徑:

windows:http://yunpan.cn/cfTszP2wrJxdD (提取碼:70b4)

Linux:http://yunpan.cn/cfTspUFzu2qqv (提取碼:b9d3)

Mac:http://yunpan.cn/cfTsILm8hKpTB (提取碼:4de0)

 

JDK1.7

Linux :http://yunpan.cn/cfTshyK9BGf7j (提取碼:4a45)

 

Le王鼕鼕 部落格分享地址: http://www.cnblogs.com/dongdong230/ 每個人都應做一天攻城獅

相關文章