Перенос проектов в Android Studio требует адаптации к новой структуре проекта, системе сборки и функционалу IDE.
Если вы мигрируете из IntelliJ, и ваш проект уже использует Gradle, вы можете открыть существующий проект в Android Studio. Если вы используете IntelliJ, но ваш проект ещё не использует Gradle, вам необходимо вручную подготовить проект перед импортом в Android Studio. Подробнее см. в разделе «Миграция из IntelliJ» .
Основы Android Studio
Вот некоторые ключевые различия, которые следует учитывать при подготовке к переходу на Android Studio.
Организация проектов и модулей
Android Studio основана на IDE IntelliJ IDEA . Чтобы ознакомиться с основами IDE, такими как навигация, автодополнение кода и сочетания клавиш, см. статью «Знакомство с Android Studio» .
Android Studio организует код в проекты, которые содержат всё, что определяет ваше Android-приложение: от исходного кода приложения до конфигураций сборки и тестового кода. Проекты открываются в отдельных окнах Android Studio. Каждый проект содержит один или несколько модулей, что позволяет разделить проект на отдельные функциональные единицы. Модули можно собирать, тестировать и отлаживать независимо друг от друга.
Дополнительную информацию о проектах и модулях Android Studio см. в разделе Обзор проектов .
Система сборки на основе Gradle
Система сборки Android Studio основана на Gradle и использует файлы конфигурации сборки, написанные на Groovy или Kotlin для простоты расширения и настройки.
Проекты на основе Gradle предлагают важные возможности для разработки Android, включая следующие:
- Поддержка бинарных библиотек (AAR). Вам больше не нужно копировать исходные коды библиотек в свои проекты; вы можете объявить зависимость , и библиотека будет автоматически загружена и интегрирована в ваш проект. Это включает в себя автоматическое объединение ресурсов, записей манифеста, правил исключения Proguard, настраиваемых правил линтинга и т. д. во время сборки.
- Поддержка вариантов сборки , позволяющая создавать различные версии приложения (например, бесплатную версию и профессиональную версию) из одного и того же проекта.
- Простая настройка и настройка сборки . Например, вы можете извлекать названия и коды версий из тегов Git в процессе сборки.
- Gradle можно использовать из IDE, из командной строки и из серверов непрерывной интеграции, таких как Jenkins, обеспечивая одинаковую сборку везде и всегда.
Дополнительную информацию об использовании и настройке Gradle см. в разделе Настройка сборки .
Зависимости
Зависимости библиотек в Android Studio используют объявления зависимостей Gradle и зависимости Maven для известных локальных исходных и двоичных библиотек с координатами Maven. Подробнее см. в разделе «Объявление зависимостей» .
Миграция с IntelliJ
Если ваш проект IntelliJ использует систему сборки Gradle, вы можете импортировать его напрямую в Android Studio. Если ваш проект IntelliJ использует Maven или другую систему сборки, перед миграцией в Android Studio необходимо настроить его для работы с Gradle.
Импорт проекта IntelliJ на базе Gradle
Если вы уже используете Gradle в своем проекте IntelliJ, откройте его в Android Studio, выполнив следующие действия:
- Нажмите Файл > Новый > Импорт проекта .
- Выберите каталог проекта IntelliJ и нажмите «ОК» . Проект откроется в Android Studio.
Импортируйте проект IntelliJ, не относящийся к Gradle
Если ваш проект IntelliJ еще не использует систему сборки Gradle, у вас есть два варианта импорта вашего проекта в Android Studio, которые описаны в следующих разделах:
- Создайте новый пустой проект Android Studio и скопируйте существующий исходный код в каталоги, связанные с новым проектом. Подробнее см. в разделе о миграции путём создания нового пустого проекта .
- Создайте новый файл сборки Gradle для своего проекта, а затем импортируйте проект и новый файл сборки в Android Studio. Подробнее см. в разделе о миграции путём создания пользовательского файла сборки Gradle .
Миграция путем создания нового пустого проекта
Чтобы перенести свой проект в Android Studio путем создания нового пустого проекта и копирования исходных файлов в новые каталоги, выполните следующие действия:
- Откройте Android Studio и нажмите Файл > Создать > Новый проект .
- Введите имя для вашего проекта приложения и укажите место, где он должен быть создан, затем нажмите Далее .
- Выберите форм-факторы, на которых работает ваше приложение, затем нажмите «Далее» .
- Нажмите « Добавить без активности» , затем нажмите « Готово» .
- В окне инструментов проекта нажмите стрелку, чтобы открыть меню «Вид», и выберите «Вид проекта» , чтобы просмотреть и изучить структуру вашего нового проекта Android Studio. Подробнее об изменении представлений и структуре проектов Android Studio см. в разделе «Файлы проекта» .
- Перейдите в выбранное вами местоположение для нового проекта и переместите код, модульные тесты, тесты инструментирования и ресурсы из старых каталогов проекта в правильные местоположения в новой структуре проекта.
- В Android Studio выберите «Файл» > «Структура проекта» , чтобы открыть диалоговое окно «Структура проекта» . Убедитесь, что модуль вашего приложения выбран в левой панели.
- Внесите необходимые изменения на вкладке «Свойства» вашего проекта (например, изменив
minSdk
илиtargetSdk
). - Нажмите «Зависимости» и добавьте все библиотеки, от которых зависит ваш проект, в качестве зависимостей Gradle. Чтобы добавить новую зависимость, нажмите « Добавить».
, затем выберите тип зависимости, которую вы хотите добавить, и следуйте инструкциям.
- Нажмите «ОК» , чтобы сохранить изменения.
- Нажмите «Сборка» > «Создать проект» , чтобы протестировать сборку проекта и при необходимости устранить любые неисправные ошибки.
Миграция путем создания пользовательского файла сборки Gradle
Чтобы перенести свой проект в Android Studio путем создания нового файла сборки Gradle, указывающего на существующие исходные файлы, выполните следующие действия.
- Прежде чем начать, создайте резервную копию файлов проекта в отдельном месте, так как процесс миграции изменяет содержимое вашего проекта на месте.
- Создайте в каталоге проекта файл
build.gradle
, если вы используете Groovy, илиbuild.gradle.kts
, если вы используете скрипт Kotlin. Этот файл содержит всю информацию, необходимую Gradle для запуска вашей сборки.По умолчанию Android Studio ожидает, что ваш проект будет организован так, как показано на рисунке 1.
Рисунок 1. Структура проекта по умолчанию для модуля приложения Android. В
settings.gradle
для Groovy илиsettings.gradle.kts
для скрипта Kotlin вы задаете репозитории, которые используются для поиска плагинов и зависимостей в блокахpluginManagement
иdependencyResolutionManagement
соответственно:Круто
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include ':app'
Котлин
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include(":app")
Внимание: Репозиторий JCenter стал доступен только для чтения 31 марта 2021 г. Для получения дополнительной информации см. Обновление сервиса JCenter .
Плагин Android Gradle применяет к проекту некоторые исходные наборы по умолчанию. Эти наборы определяют каталоги для хранения различных типов исходных файлов . Gradle использует эти наборы для определения расположения файлов определённых типов. Если ваш текущий проект не соответствует настройкам по умолчанию, вы можете либо переместить файлы в нужное место, либо изменить исходные наборы по умолчанию , чтобы Gradle знал, где их найти.
Дополнительную информацию о настройке и персонализации файла сборки Gradle см. в разделе Настройка сборки.
Затем определите, какие библиотечные проекты вы используете.
С Gradle вам больше не нужно добавлять эти библиотеки как проекты с исходным кодом. Вместо этого вы можете ссылаться на них в блоке
dependencies{}
файла сборки. Система сборки затем обрабатывает эти библиотеки автоматически, включая загрузку библиотек, добавление ресурсов и объединение записей манифеста. В следующем примере операторы объявления для ряда библиотек AndroidX добавляются в блокdependencies{}
файла сборки.Чтобы определить правильные операторы объявления для ваших библиотек, воспользуйтесь репозиторием Google Maven или Maven Central .Круто
... 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.1' 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. }
Котлин
... 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.1") 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. }
- Сохраните файл
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. Используйте пункты меню VCS в Android Studio, чтобы включить поддержку 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 составляет 1280 МБ. Если вы работаете над большим проектом или в вашей системе много оперативной памяти, вы можете повысить производительность, увеличив максимальный размер кучи .
Обновления программного обеспечения
Обновления Android Studio производятся отдельно от плагина Gradle, инструментов сборки и инструментов SDK. Вы можете указать, какие версии вы хотите использовать с Android Studio.
По умолчанию Android Studio автоматически обновляется при выходе новой стабильной версии, но вы можете выбрать более частые обновления и получать предварительные или бета-версии.
Дополнительную информацию об обновлении Android Studio и использовании предварительных и бета-версий читайте в разделе обновления .