Panduan ini menjelaskan cara memodifikasi file build.gradle
dari project AGDE agar
Anda dapat membukanya di Android Studio. Fungsi ini terutama ditujukan bagi engineer build
yang mengelola project AGDE.
Setelah melakukan perubahan sesuai panduan ini, Anda akan dapat:
- Mem-build dengan Gradle dari command line dan Android Studio.
- Mem-build APK dan App Bundle multi-ABI.
- Mengedit sumber dengan dukungan layanan bahasa lengkap (go-to definition, dll.) di Android Studio.
- Menggunakan debugger Android Studio untuk men-debug proses native dan campuran.
Fitur AGDE ini dibuat pada fitur plugin Android Gradle eksperimental untuk mendukung Ninja sebagai sistem build.
Mengubah file build.gradle level project
Ubah build.gradle
level project agar merujuk ke plugin Android Gradle
versi 7.3.0-alpha02 atau yang lebih baru. Contoh:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0-alpha02'
}
}
Setelah perubahan ini, Anda tetap dapat membuat project di Visual Studio. Sebaiknya Anda mencobanya sekarang karena akan lebih mudah untuk melakukan debug sebelum melakukan perubahan di bawah.
Menyalin run-msbuild.bat ke dalam project
Contoh Teapot yang dikirimkan dengan versi AGDE
terbaru memiliki skrip yang disebut run-msbuild.bat
. Skrip ini akan
dipanggil dari AGP dan bertanggung jawab untuk menemukan dan memanggil MSBuild.
Salin run-msbuild.bat
ke folder yang berisi file build.gradle
level aplikasi.
Mengubah file build.gradle
level aplikasi
Sasaran utama langkah ini adalah mengonfigurasi panggilan ke run-msbuild.bat
dan
menghapus referensi ke variabel MSBUILD_*
.
Menyetel ndkVersion
Ubah ndkVersion
ke versi NDK tertentu. Contoh:
android {
ndkVersion "22.1.7171670"
}
Menyetel minSdkVersion
Ubah minSdkVersion
ke versi SDK minimum tertentu. Contoh:
android {
defaultConfig {
minSdkVersion 30
}
}
Memanggil run-msbuild.bat
Tambahkan bagian untuk memanggil
run-msbuild.bat
pada file solusi untuk project.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" ] } } }
Hapus semua penggunaan
MSBUILD_JNI_LIBS_SRC_DIR
,MSBUILD_ANDROID_OUTPUT_APK_NAME
, danMSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
.Biasanya, blok berikut dalam file
build.gradle
level aplikasi dapat dihapus sekaligus.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
Masukan
Fitur ini bersifat eksperimental, jadi kami sangat mengharapkan masukan Anda. Berikut cara memberikan masukan:
- Untuk komentar dan masukan umum, Anda dapat menambahkan komentar ke bug ini.
- Untuk melaporkan bug, buka Android Studio, dan klik Help/Submit Feedback. Pastikan Anda memberi referensi ke "Custom C/C++ Build Systems" untuk membantu mengarahkan bug.
- Klik link ini jika Anda belum menginstal Android Studio.