遷移至 Android Studio

將專案遷移至 Android Studio 必須適應新專案結構、建構系統和 IDE 功能。

如果是從 IntelliJ 遷移,且專案已採用 Gradle,可以從 Android Studio 開啟現有專案。如果正在使用 IntelliJ,但專案並未採用 Gradle,則需要先手動執行前置工作,才能將專案匯入 Android Studio。詳情請參閱「從 IntelliJ 遷移」一節。

Android Studio 基礎知識

下列是準備遷移至 Android Studio 時,須留意的幾個主要差異。

專案和模組結構

Android Studio 是以 IntelliJ IDEA IDE 為基礎。如要瞭解 IDE 的基本知識,例如導覽方式、程式碼完成功能和鍵盤快速鍵,請參閱「認識 Android Studio」。

Android Studio 會將程式碼分成多個專案,其中包含應用程式原始碼、建構設定、測試程式碼等所有用於定義 Android 應用程式的內容。每個專案會在不同的 Android Studio 視窗開啟。各專案都包含一或多個模組,可將專案分割為獨立的功能單元。模組皆可單獨建構、測試及偵錯。

如要進一步瞭解 Android Studio 專案和模組,請參閱「專案總覽」。

以 Gradle 為基礎的建構系統

Android Studio 的建構系統奠基於 Gradle,採用以 Groovy 或 Kotlin 指令碼編寫的建構設定檔,易於擴充及自訂內容。

以 Gradle 為基礎的專案為 Android 開發作業提供了多項重要功能,包括:

  • 支援二進位程式庫 (AAR)。只要宣告依附元件,程式庫即可自動下載並合併至您的專案,無須再複製程式庫原始碼到專案。這包括在建構期間自動合併資源、資訊清單項目、ProGuard 排除規則、自訂 Lint 規則等。
  • 支援建構變化版本,讓您使用同一專案建構不同版本的應用程式,例如免費版和專業版。
  • 輕鬆配置建構設定和自訂項目。舉例來說,您可以在建構期間從 Git 標記提取版本名稱和版本代碼。
  • 可從 IDE、指令列和 Jenkins 這類持續整合伺服器使用 Gradle,隨時隨地取得相同的建構體驗。

如要進一步瞭解如何使用及設定 Gradle,請參閱「建構設定」。

依附元件

Android Studio 中的程式庫依附元件使用 Gradle 依附元件宣告,並將 Maven 依附元件用於已知的本機來源和具有 Maven 座標的二進位程式庫。詳情請參閱「宣告依附元件」。

從 IntelliJ 遷移

如果您的 IntelliJ 專案使用 Gradle 建構系統,可以直接將專案匯入 Android Studio。如果您的 IntelliJ 專案使用 Maven 或其他建構系統,則須先將其設為使用 Gradle,才可以遷移至 Android Studio。

匯入以 Gradle 為基礎的 IntelliJ 專案

如果您的 IntelliJ 專案已採用 Gradle,請按照下列步驟在 Android Studio 中開啟專案:

  1. 依序點選「File」>「New」>「Import Project」
  2. 選取 IntelliJ 專案目錄,然後按一下「OK」。專案會在 Android Studio 中開啟。

匯入非 Gradle IntelliJ 專案

如果您的 IntelliJ 專案尚未使用 Gradle 建構系統,可以透過以下兩種方法將專案匯入 Android Studio,詳情請見後續章節:

透過建立新的空白專案進行遷移

如要建立新空白專案,複製來源檔案到新目錄,以便遷移專案至 Android Studio,請按照下列步驟操作:

  1. 開啟 Android Studio,然後依序點選「File」>「New」>「New Project」
  2. 輸入應用程式專案名稱並指定建立專案的位置,然後點選「Next」
  3. 選取要執行應用程式的裝置板型規格,然後點選「Next」
  4. 依序點選「Add No Activity」和「Finish」
  5. 在「Project」工具視窗中,按一下箭頭開啟檢視畫面選單,然後選取「Project」檢視畫面,即可查看並探索新 Android Studio 專案的結構。如要進一步瞭解 Android Studio 建構專案的方式,以及如何變更檢視畫面,請參閱「專案檔案」。
  6. 前往您為新專案選取的位置,並將舊專案目錄中的程式碼、單元測試、檢測設備測試和資源,移至新專案結構中的正確位置。
  7. 在 Android Studio 中,依序點選「File」>「Project Structure」來開啟「Project Structure」對話方塊。請務必在左側窗格中選取應用程式模組。
  8. 在專案的「Properties」分頁中進行所有必要的修改 (例如修改 minSdktargetSdk)。
  9. 按一下「Dependencies」,並將專案依附的所有程式庫新增為 Gradle 依附元件。如要新增依附元件,請按一下「Add」圖示 ,接著選取要新增的依附元件類型,然後按照提示操作。
  10. 按一下「OK」儲存修改內容。
  11. 依序點選「Build」>「Make Project」即可測試能否建構專案,並在必要時解決待處理的錯誤。

透過建立自訂的 Gradle 建構檔案進行遷移

如要新建 Gradle 建構檔案指向現有來源檔案,以便遷移專案到 Android Studio,請按照下列步驟操作:

  1. 開始之前,請將專案檔案備份至不同位置,因為遷移程序會修改現有專案的內容。
  2. 如果使用的是 Groovy,請在專案目錄中建立名為 build.gradle 的檔案;如果是使用 Kotlin 指令碼,則請建立 build.gradle.kts。這個檔案包含 Gradle 執行建構作業所需的一切資訊。

    根據預設,Android Studio 專案的結構會如圖 1 所示。

    圖 1. Android 應用程式模組的預設專案結構。

    settings.gradle (適用於 Groovy 指令碼) 或 settings.gradle.kts (適用於 Kotlin 指令碼) 中,您將分別設定存放區,用於在 pluginManagement 區塊和 dependencyResolutionManagement 區塊中搜尋外掛程式和依附元件:

    Groovy

      pluginManagement {
          repositories {
              google()
              mavenCentral()
              gradlePluginPortal()
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
          }
      }
      rootProject.name = "Test App"
      include ':app'
      

    Kotlin

      pluginManagement {
          repositories {
              google()
              mavenCentral()
              gradlePluginPortal()
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
          }
      }
      rootProject.name = "Test App"
      include(":app")
      

    警告:JCenter 存放區已在 2021 年 3 月 31 日變成唯讀狀態。詳情請參閱「JCenter 服務更新」。

    Android Gradle 外掛程式會為專案套用一些預設的來源集。這些來源集定義了用於儲存多種來源檔案的目錄。Gradle 會利用這些來源集,判斷特定檔案類型的位置。如果您的現有專案不符合預設值,可以將檔案移至適當位置,或是變更預設來源集,讓 Gradle 知道可以在何處找到檔案。

    如要進一步瞭解如何設定及自訂 Gradle 建構檔案,請參閱「建構設定」。

  3. 接下來,請確定要使用哪項程式庫專案。

    有了 Gradle,您不必再新增這些程式庫做為原始碼專案,可改為在建構檔案的 dependencies{} 區塊中參照這些程式庫。接著,建構系統會為您處理這些程式庫,包括下載程式庫、合併資源及合併資訊清單項目。以下範例會將多個 AndroidX 程式庫的宣告陳述式新增至建構檔案的 dependencies{} 區塊。

    Groovy

    ...
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    
        // AndroidX libraries
        implementation 'androidx.core:core-ktx:1.12.0'
        implementation 'androidx.appcompat:appcompat:1.6.1'
        implementation 'androidx.cardview:cardview:1.0.0'
        implementation 'com.google.android.material:material:1.7.0'
        implementation 'androidx.gridlayout:gridlayout:1.0.0'
        implementation 'androidx.leanback:leanback:1.1.0-rc02'
        implementation 'androidx.mediarouter:mediarouter:1.7.0'
        implementation 'androidx.palette:palette-ktx:1.0.0'
        implementation 'androidx.recyclerview:recyclerview:1.3.2'
        implementation 'androidx.annotation:annotation:1.7.1'
    
        // Note: these libraries require that the Google repository has been declared
        // in the pluginManagement section of the top-level build.gradle file.
    }

    Kotlin

    ...
    dependencies {
        implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
    
        // AndroidX libraries
        implementation("androidx.core:core-ktx:1.12.0")
        implementation("androidx.appcompat:appcompat:1.6.1")
        implementation("androidx.cardview:cardview:1.0.0")
        implementation("com.google.android.material:material:1.7.0")
        implementation("androidx.gridlayout:gridlayout:1.0.0")
        implementation("androidx.leanback:leanback:1.1.0-rc02")
        implementation("androidx.mediarouter:mediarouter:1.7.0")
        implementation("androidx.palette:palette-ktx:1.0.0")
        implementation("androidx.recyclerview:recyclerview:1.3.2")
        implementation("androidx.annotation:annotation:1.7.1")
    
        // Note: these libraries require that the Google repository has been declared
        // in the pluginManagement section of the top-level build.gradle.kts file.
    }
    為協助您判斷程式庫的正確宣告陳述式,請搜尋 Google Maven 存放區Maven Central
  4. 儲存 build.gradle 檔案,然後在 IntelliJ 中關閉專案。前往專案目錄,然後刪除專案中的 .idea 目錄和任何 IML 檔案。
  5. 啟動 Android Studio,然後依序點選「File」>「New」>「Import Project」
  6. 找出專案目錄,選取您建立的 build.gradlebuild.gradle.kts 檔案,然後按一下「OK」匯入專案。
  7. 依序點選「Build」>「Make Project」建構專案,並修正所有發現的錯誤,藉此測試建構檔案。

後續步驟

將專案遷移至 Android Studio 後,請參閱「建構並執行應用程式」,進一步瞭解如何透過 Gradle 進行建構,以及如何在 Android Studio 中執行應用程式。

視專案和工作流程而定,您可能會想進一步瞭解如何進行版本管控、管理依附元件,以及設定 Android Studio。如要開始使用 Android Studio,請參閱「認識 Android Studio」。

設定版本管控

Android Studio 支援多種版本管控系統,包括 Git、Mercurial 和 Subversion。您也可以透過外掛程式新增其他版本管控系統。

如果您的應用程式已受原始碼控管,您可能需要在 Android Studio 中啟用應用程式。請在 VCS 選單中按一下「Enable Version Control Integration」,並選取適合的版本管控系統。

如果您的應用程式未受原始碼控管,將應用程式匯入 Android Studio 後即可進行設定。請使用 Android Studio VCS 選單選項來啟用所需版本管控系統的 VCS 支援功能、建立存放區、將新檔案匯入版本管控系統,以及執行其他版本管控作業:

  1. 在 Android Studio 的 VCS 選單中,按一下「Enable Version Control Integration」
  2. 從選單中選取要與專案根目錄建立關聯的版本管控系統,然後按一下「OK」。VCS 選單現在會根據您選取的系統顯示多個版本管控選項。

注意:您也可以依序點選「File」>「Settings」>「Version Control」選單選項,指定及修改版本管控設定。

如要進一步瞭解如何進行版本管控,請參閱 IntelliJ 版本管控參考資料

應用程式簽署

如果您先前使用了偵錯憑證,系統可能會在匯入程序中偵測到這項憑證。在此情況下,Android Studio 會繼續參照該憑證。否則,偵錯設定會使用 Android Studio 產生的偵錯 KeyStore,方法是利用已知密碼和預設金鑰,後者含有位於 $HOME/.android/debug.keystore 中的已知密碼。當您透過 Android Studio 執行專案或為專案偵錯時,偵錯建構類型會自動使用這項偵錯設定。

同樣地,匯入程序可能會偵測現有的發布憑證。如果先前未定義任何發布憑證,請將版本簽署設定新增至 build.gradlebuild.gradle.kts 檔案,或依序點選「Build」>「Generate Signed APK」選單選項,開啟「Generate Signed APK 精靈」。如要進一步瞭解如何簽署應用程式,請參閱「簽署應用程式」。

調整 Android Studio 的堆積大小上限

根據預設,Android Studio 的堆積大小上限為 1280 MB。如果您處理的是大型專案,或是系統有大量 RAM,您可以透過提高堆積大小上限改善效能。

軟體更新

Android Studio 會與 Gradle 外掛程式、建構工具和 SDK 工具分開更新。您可以指定要與 Android Studio 搭配使用的版本。

根據預設,每當有新的穩定版發布時,Android Studio 都會提供自動更新,但您可以選擇更頻繁地更新,並接收預先發布版或 Beta 版。

如要進一步瞭解如何更新 Android Studio 以及使用預先發布版和 Beta 版,請參閱相關更新內容