将您的项目迁移到 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 中打开它:
- 点击**文件 > 新建 > 导入项目**。
- 选择您的 IntelliJ 项目目录,然后点击**确定**。您的项目将在 Android Studio 中打开。
导入非 Gradle IntelliJ 项目
如果您的 IntelliJ 项目尚未使用 Gradle 构建系统,则有两个选项可以将您的项目导入 Android Studio,如下面的部分所述:
- 创建一个新的空 Android Studio 项目,并将您现有的源代码复制到与新项目关联的目录中。更多信息,请参阅有关通过创建新的空项目进行迁移的部分。
- 为您的项目创建一个新的 Gradle 构建文件,然后将项目和新的构建文件导入 Android Studio。更多信息,请参阅有关通过创建自定义 Gradle 构建文件进行迁移的部分。
通过创建新的空项目进行迁移
要通过创建新的空项目并将源文件复制到新的目录中来将项目迁移到 Android Studio,请执行以下操作:
- 打开 Android Studio 并点击**文件 > 新建 > 新建项目**。
- 输入应用项目的名称并指定其创建位置,然后点击**下一步**。
- 选择您的应用运行的形式因素,然后点击**下一步**。
- 点击**不添加 Activity**,然后点击**完成**。
- 在**项目**工具窗口中,点击箭头以打开视图菜单,然后选择**项目**视图以查看和浏览新 Android Studio 项目的组织结构。要详细了解更改视图以及 Android Studio 如何构建项目,请参阅项目文件。
- 导航到您为新项目选择的位置,并将代码、单元测试、工具测试和资源从旧项目目录移动到新项目结构中的正确位置。
- 在 Android Studio 中,点击**文件 > 项目结构**以打开项目结构对话框。确保在左侧窗格中选择了应用的模块。
- 在**属性**选项卡中对您的项目进行任何必要的修改(例如,修改
minSdk
或targetSdk
)。 - 点击**依赖项**并将项目依赖的任何库添加为 Gradle 依赖项。要添加新的依赖项,请点击**添加** ,然后选择要添加的依赖项类型并按照提示操作。
- 点击**确定**保存您的修改。
- 点击**构建 > 构建项目**以测试构建项目,如有必要,解决任何未解决的错误。
通过创建自定义 Gradle 构建文件进行迁移
要通过创建新的 Gradle 构建文件来指向现有源文件将项目迁移到 Android Studio,请执行以下操作:
- 在开始之前,请将项目文件备份到其他位置,因为迁移过程会就地修改项目内容。
- 在您的项目目录中创建一个名为
build.gradle
的文件(如果您使用的是 Groovy),或者创建一个名为build.gradle.kts
的文件(如果您使用的是 Kotlin 脚本)。此文件包含 Gradle 运行构建所需的所有信息。默认情况下,Android Studio 期望您的项目组织方式如图 1 所示。
在
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 构建文件的更多信息,请阅读配置构建。
接下来,确定您正在使用的库项目。
使用 Gradle 时,您不再需要将这些库添加为源代码项目。您可以改为在构建文件的
dependencies{}
块中引用它们。然后,构建系统将为您处理这些库,包括下载库、合并资源和合并清单条目。以下示例将多个 AndroidX 库的声明语句添加到构建文件的dependencies{}
块中。Groovy
... dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // AndroidX libraries implementation 'androidx.core:core-ktx:1.15.0' implementation 'androidx.appcompat:appcompat:1.7.0' 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.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.15.0") implementation("androidx.appcompat:appcompat:1.7.0") 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.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. }
- 保存您的
build.gradle
文件,然后在 IntelliJ 中关闭项目。导航到您的项目目录,然后删除项目中的.idea
目录和任何 IML 文件。 - 启动 Android Studio 并点击**文件 > 新建 > 导入项目**。
- 找到您的项目目录,选择您创建的
build.gradle
或build.gradle.kts
文件,然后点击**确定**导入您的项目。 - 点击**构建 > 构建项目**以通过构建项目来测试构建文件,并解决您发现的任何错误。
后续步骤
将项目迁移到 Android Studio 后,请阅读构建和运行您的应用,了解有关使用 Gradle 构建和在 Android Studio 中运行应用的更多信息。
根据您的项目和工作流程,您可能还需要了解有关版本控制、管理依赖项和配置 Android Studio 的更多信息。要开始使用 Android Studio,请阅读了解 Android Studio。
配置版本控制
Android Studio 支持多种版本控制系统,包括 Git、Mercurial 和 Subversion。其他版本控制系统可以通过插件添加。
如果您的应用已在源代码管理下,则可能需要在 Android Studio 中启用它。在 VCS 菜单中,点击**启用版本控制集成**,然后选择相应的版本控制系统。
如果您的应用不在源代码管理下,则可以在将应用导入 Android Studio 后配置它。使用 Android Studio VCS 菜单选项为所需的版本控制系统启用 VCS 支持,创建存储库,将新文件导入版本控制,并执行其他版本控制操作。
- 在 Android Studio VCS 菜单中,点击**启用版本控制集成**。
- 从菜单中选择要与项目根目录关联的版本控制系统,然后点击**确定**。VCS 菜单现在将根据您选择的系统显示许多版本控制选项。
注意:您也可以使用文件 > 设置 > 版本控制菜单选项来设置和修改版本控制。
有关使用版本控制的更多信息,请参阅IntelliJ 的版本控制参考。
应用签名
如果之前使用了调试证书,则在导入过程中可能会检测到它。在这种情况下,Android Studio 将继续引用该证书。否则,调试配置将使用 Android Studio 生成的调试密钥库,使用已知的密码和位于$HOME/.android/debug.keystore
中的具有已知密码的默认密钥。当您从 Android Studio 运行或调试项目时,调试构建类型将自动设置为使用此调试配置。
同样,导入过程可能会检测到现有的发布证书。如果之前未定义发布证书,请将发布签名配置添加到build.gradle
或build.gradle.kts
文件中,或使用构建 > 生成签名 APK菜单选项打开“生成签名 APK 向导”。有关签名应用的更多信息,请参阅签名您的应用。
调整 Android Studio 的最大堆大小
默认情况下,Android Studio 的最大堆大小为 1280MB。如果您正在处理大型项目,或者您的系统拥有大量 RAM,则可以通过增加最大堆大小来提高性能。
软件更新
Android Studio 与 Gradle 插件、构建工具和 SDK 工具分别更新。您可以指定要与 Android Studio 一起使用的版本。
默认情况下,Android Studio 在发布新稳定版本时会自动提供更新,但您可以选择更频繁地更新并接收预览版或测试版。
有关更新 Android Studio 以及使用预览版和测试版的更多信息,请阅读有关更新的内容。