במדריך הזה מוסבר איך לשנות קבצים של build.gradle
מפרויקטים של AGDE,
אפשר לפתוח אותם ב-Android Studio. מיועד בעיקר למהנדסי בנייה
שמנהלים פרויקטים של AGDE.
אחרי השינויים במדריך הזה, תוכלו לבצע את הפעולות הבאות:
- פיתוח באמצעות Gradle משורת הפקודה ומ-Android Studio.
- פיתוח חבילות APK ו-App Bundles מרובים של ABI.
- עריכת מקורות עם תמיכה מלאה בשירות שפה (מעבר להגדרה וכו') ב-Android Studio.
- אפשר להשתמש בכלי לניפוי באגים ב-Android Studio כדי לנפות באגים בתהליכים מקוריים ומעורבים.
התכונה של AGDE מבוססת על תכונת הפלאגין הניסיונית Android Gradle כדי לתמוך ב-Ninja כמערכת build.
משנים את הקובץ 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'
}
}
אחרי השינוי, עדיין תוכלו לבנות את הפרויקט בתצוגה חזותית אולפן. מומלץ לנסות את זה עכשיו, כי יהיה קל יותר לנפות את הבאגים לפני שתבצעו את השינויים שלמטה.
העתקת run-msbuild.bat לפרויקט
דוגמה ל-Teapod עם הגרסה העדכנית ביותר
בגרסאות של AGDE יש סקריפט בשם 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
משוב
התכונה הזו ניסיונית, נשמח לקבל משוב. כך מספקים זה:
- כדי לקבל תגובות כלליות ומשוב כללי, אפשר להוסיף תגובה ל הבאג הזה.
- כדי לדווח על באג, פותחים את Android Studio ולוחצים על עזרה/שליחת משוב. להיות חשוב לעיין במאמר "מערכות build מותאמות אישית C/C++" כדי לעזור באיתור הבאג.
- צריך ללחוץ על הקישור הזה אם Android Studio לא מותקן.