แก้ไขไฟล์build.gradle สำหรับ Android Studio

คู่มือนี้อธิบายวิธีแก้ไขไฟล์ build.gradle จากโปรเจ็กต์ AGDE คุณจะเปิดได้ใน Android Studio จุดประสงค์หลักสำหรับวิศวกรบิลด์ ที่จัดการโปรเจ็กต์ AGDE

หลังจากที่มีการเปลี่ยนแปลงในคู่มือนี้แล้ว คุณควรจะทำสิ่งต่อไปนี้ได้

  • สร้างด้วย Gradle จากบรรทัดคำสั่งและ Android Studio
  • สร้าง APK และ App Bundle แบบ 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 ลงในโปรเจ็กต์ของคุณ

ตัวอย่างกาน้ำชาที่จัดส่งพร้อมผลิตภัณฑ์ล่าสุด 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

  1. เพิ่มส่วนเพื่อเรียก 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"
                    ]
               }
           }
       }
    
  2. ลบการใช้งาน 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