本指南介绍了如何修改 AGDE 项目中的 build.gradle
文件,以便您可以在 Android Studio 中打开它们。本指南主要适用于管理 AGDE 项目的构建工程师。
在完成本指南中的更改后,您应该能够:
- 从命令行和 Android Studio 中使用 Gradle 进行构建。
- 构建多 ABI APK 和 App Bundle。
- 在 Android Studio 中利用完整的语言服务支持来修改源代码(go-to definition 等)。
- 使用 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 复制到您的项目中
最新版本的 AGDE 搭载的 Teapot 示例具有名为 run-msbuild.bat
的脚本。此脚本将从 AGP 调用,负责查找和调用 MSBuild。
将 run-msbuild.bat
复制到包含应用级 build.gradle
文件的文件夹中。
修改应用级 build.gradle
文件
此步骤的主要目标是配置对 run-msbuild.bat
的调用以及移除对 MSBUILD_*
变量的引用。
设置 ndkVersion
将 ndkVersion
更改为特定的 NDK 版本。例如:
android {
ndkVersion "22.1.7171670"
}
设置 minSdkVersion
将 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
反馈
此功能是实验性功能,因此如果您能提供反馈,我们将不胜感激。提供方法如下:
- 对于一般性评论和反馈,可以向此 bug 添加注释。
- 如要报告 bug,请打开 Android Studio,然后依次点击 Help > Submit Feedback。请务必参考“自定义 C/C++ 构建系统”,以帮助找到 bug。
- 如果您尚未安装 Android Studio,请点击此链接。