迁移到 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 标签中提取版本名称和版本代码。
  • Gradle 可从 IDE、命令行和 Jenkins 等持续集成服务器中使用,从而在任何地方、任何时候都能提供相同的构建。

有关使用和配置 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(不添加 Activity),然后点击 Finish(完成)。
  5. Project(项目)工具窗口中,点击箭头打开视图菜单并选择 Project(项目)视图,以查看和探索新 Android Studio 项目的组织结构。要了解更多关于更改视图和 Android Studio 如何构建项目的信息,请参阅项目文件
  6. 导航到您为新项目选择的位置,并将旧项目目录中的代码、单元测试、插桩测试和资源移动到新项目结构中的正确位置。
  7. 在 Android Studio 中,点击 File > Project Structure(文件 > 项目结构)打开项目结构对话框。确保您的应用模块在左侧窗格中处于选中状态。
  8. 在项目的 Properties(属性)选项卡中进行任何必要的修改(例如,修改 minSdktargetSdk)。
  9. 点击 Dependencies(依赖项),并将项目所依赖的任何库添加为 Gradle 依赖项。要添加新的依赖项,请点击 Add(添加),然后选择要添加的依赖项类型并按照提示操作。
  10. 点击 OK(确定)保存您的修改。
  11. 点击 Build > Make Project(构建 > 构建项目)以测试项目构建,并在必要时解决任何未解决的错误。

通过创建自定义 Gradle 构建文件进行迁移

要通过创建新的 Gradle 构建文件指向现有源文件来将您的项目迁移到 Android Studio,请按以下步骤操作:

  1. 开始之前,请在单独的位置备份您的项目文件,因为迁移过程会就地修改您项目的内容。
  2. 在您的项目目录中创建一个名为 build.gradle 的文件(如果您使用 Groovy),或 build.gradle.kts(如果您使用 Kotlin 脚本)。此文件包含 Gradle 运行您的构建所需的所有信息。

    默认情况下,Android Studio 期望您的项目按图 1 所示组织。

    图 1. Android 应用模块的默认项目结构。

    在 Groovy 的 settings.gradle 文件或 Kotlin 脚本的 settings.gradle.kts 文件中,您分别在 pluginManagementdependencyResolutionManagement 块中设置用于查找插件和依赖项的仓库。

    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.16.0'
        implementation 'androidx.appcompat:appcompat:1.7.1'
        implementation 'androidx.cardview:cardview:1.0.0'
        implementation 'com.google.android.material:material:1.7.0'
        implementation 'androidx.gridlayout:gridlayout:1.1.0'
        implementation 'androidx.leanback:leanback:'
        implementation 'androidx.mediarouter:mediarouter:1.8.0'
        implementation 'androidx.palette:palette-ktx:1.0.0'
        implementation 'androidx.recyclerview:recyclerview:1.4.0'
        implementation 'androidx.annotation:annotation:1.9.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.16.0")
        implementation("androidx.appcompat:appcompat:1.7.1")
        implementation("androidx.cardview:cardview:1.0.0")
        implementation("com.google.android.material:material:1.7.0")
        implementation("androidx.gridlayout:gridlayout:1.1.0")
        implementation("androidx.leanback:leanback:")
        implementation("androidx.mediarouter:mediarouter:1.8.0")
        implementation("androidx.palette:palette-ktx:1.0.0")
        implementation("androidx.recyclerview:recyclerview:1.4.0")
        implementation("androidx.annotation:annotation:1.9.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 生成的调试密钥库,该密钥库使用已知密码和位于 $HOME/.android/debug.keystore 的具有已知密码的默认密钥。当您从 Android Studio 运行或调试项目时,调试构建类型会自动设置为使用此调试配置。

同样,导入过程可能会检测到现有的发布证书。如果之前未定义发布证书,请将发布签名配置添加到 build.gradlebuild.gradle.kts 文件中,或者使用 Build > Generate Signed APK(构建 > 生成签名 APK)菜单选项打开生成签名 APK 向导。有关签署应用的更多信息,请参阅签署您的应用

调整 Android Studio 的最大堆大小

默认情况下,Android Studio 的最大堆大小为 1280MB。如果您正在处理大型项目,或者您的系统有大量 RAM,您可以通过增加最大堆大小来提高性能。

软件更新

Android Studio 与 Gradle 插件、构建工具和 SDK 工具是分开更新的。您可以指定要在 Android Studio 中使用的版本。

默认情况下,Android Studio 会在发布新的稳定版本时提供自动更新,但您可以选择更频繁地更新并接收预览版或 Beta 版。

有关更新 Android Studio 以及使用预览版和 Beta 版的更多信息,请阅读更新