В этом руководстве описывается, как изменить файлы build.gradle
из проектов AGDE, чтобы их можно было открывать в Android Studio. Он в основном предназначен для инженеров-строителей, управляющих проектами AGDE.
После изменений в этом руководстве вы сможете:
- Сборка с помощью Gradle из командной строки и Android Studio.
- Создавайте APK-файлы и пакеты приложений с несколькими ABI.
- Редактируйте источники с полной поддержкой языковых сервисов (переход к определению и т. д.) в Android Studio.
- Используйте отладчики Android Studio для отладки собственных и смешанных процессов.
Эта функция AGDE основана на экспериментальной функции плагина Android Gradle для поддержки Ninja в качестве системы сборки .
Измените файл build.gradle уровня проекта.
Измените build.gradle
на уровне проекта, чтобы он ссылался на плагин Android Gradle версии 7.3.0-alpha02 или новее. Например:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0-alpha02'
}
}
После этого изменения вы по-прежнему сможете создавать проект в Visual Studio. Мы рекомендуем вам попробовать это сейчас, так как перед внесением изменений, приведенных ниже, будет проще выполнить отладку.
Скопируйте run-msbuild.bat в свой проект.
Образец Teapot , поставляемый с последними версиями AGDE, содержит сценарий run-msbuild.bat
. Этот сценарий будет вызываться из AGP и отвечает за поиск и вызов MSBuild.
Скопируйте run-msbuild.bat
в папку, содержащую файл build.gradle
уровня приложения.
Измените файл build.gradle
уровня приложения.
Основные цели этого шага — настроить вызов run-msbuild.bat
и удалить ссылки на переменные MSBUILD_*
.
Установить ндкверсион
Измените ndkVersion
на конкретную версию NDK. Например:
android {
ndkVersion "22.1.7171670"
}
Установить минСдкВерсион
Измените minSdkVersion
на определенную минимальную версию SDK. Например:
android {
defaultConfig {
minSdkVersion 30
}
}
Вызов run-msbuild.bat
Добавьте раздел для вызова
run-msbuild.bat
в файл решения для проекта.android { defaultConfig { externalNativeBuild { experimentalProperties["ninja.abiFilters"] = [ "x86", "arm64-v8a" ] experimentalProperties["ninja.path"] = "Teapot.sln" experimentalProperties["ninja.configure"] = "run-msbuild" experimentalProperties["ninja.arguments"] = [ "\${ndk.moduleMakeFile}", "-p:Configuration=\${ndk.variantName}", "-p:Platform=Android-\${ndk.abi}", "-p:NinjaBuildLocation=\${ndk.buildRoot}", "-p:NinjaProject=GameApplication", "-p:RequireAndroidNdkVersion=\${ndk.moduleNdkVersion}", "-p:RequireMinSdkVersion=\${ndk.minPlatform}", "-t:GenerateBuildNinja" ] } } }
Удалите любое использование
MSBUILD_JNI_LIBS_SRC_DIR
,MSBUILD_ANDROID_OUTPUT_APK_NAME
иMSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
.Обычно следующие блоки в файле
build.gradle
уровня приложения можно полностью удалить.sourceSets { main { jniLibs.srcDirs = [MSBUILD_JNI_LIBS_SRC_DIR] } } applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } buildDir = MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
Обратная связь
Эта функция является экспериментальной, поэтому отзывы приветствуются. Вот как это предоставить:
- Для общих комментариев и отзывов вы можете добавить комментарий к этой ошибке .
- Чтобы сообщить об ошибке, откройте Android Studio и нажмите «Справка/Отправить отзыв» . Обязательно обратитесь к «Пользовательским системам сборки C/C++», чтобы помочь устранить ошибку.
- Нажмите эту ссылку, если у вас не установлена Android Studio.