หากต้องการคอมไพล์และแก้ไขข้อบกพร่องของโค้ดเนทีฟสำหรับแอป คุณจะต้องมีคอมโพเนนต์ต่อไปนี้
- Android Native Development Kit (NDK): ชุดเครื่องมือที่ช่วยให้คุณใช้โค้ด C และ C++ กับ Android ได้
- CMake: เครื่องมือบิลด์ภายนอกที่ทำงานร่วมกับ Gradle เพื่อสร้างไลบรารีแบบเนทีฟ คุณไม่จำเป็นต้องใช้คอมโพเนนต์นี้หากวางแผนที่จะใช้ ndk-build เท่านั้น
- LLDB: โปรแกรมแก้ไขข้อบกพร่องที่ Android Studio ใช้เพื่อแก้ไขข้อบกพร่องของโค้ดเนทีฟ โดยค่าเริ่มต้น ระบบจะติดตั้ง LLDB ควบคู่ไปกับ Android Studio
หน้านี้อธิบายวิธีติดตั้งคอมโพเนนต์เหล่านี้โดยอัตโนมัติ หรือโดยใช้ Android Studio หรือเครื่องมือ sdkmanager
เพื่อดาวน์โหลดและติดตั้งด้วยตนเอง
ติดตั้ง NDK และ CMake โดยอัตโนมัติ
ปลั๊กอิน Android Gradle 4.2.0 ขึ้นไปจะติดตั้ง NDK และ CMake ที่จำเป็นโดยอัตโนมัติ ในครั้งแรกที่คุณสร้างโปรเจ็กต์ หากยอมรับใบอนุญาตล่วงหน้าแล้ว หากคุณได้อ่านและยอมรับข้อกำหนดของใบอนุญาตแล้ว คุณสามารถยอมรับล่วงหน้า ในสคริปต์ด้วยคำสั่งต่อไปนี้
yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses
ติดตั้ง NDK และ CMake
เมื่อคุณติดตั้ง NDK แล้ว Android Studio จะเลือก NDK เวอร์ชันล่าสุดที่พร้อมใช้งาน สำหรับโปรเจ็กต์ส่วนใหญ่ การติดตั้ง NDK เวอร์ชันเริ่มต้นนี้ก็เพียงพอแล้ว
อย่างไรก็ตาม หากโปรเจ็กต์ของคุณต้องการ NDK เวอร์ชันที่เฉพาะเจาะจงอย่างน้อย 1 เวอร์ชัน คุณสามารถดาวน์โหลดและกำหนดค่าเวอร์ชันที่เฉพาะเจาะจงได้ การทำเช่นนี้จะช่วยให้คุณมั่นใจได้ว่าการสร้างจะทำซ้ำได้ในโปรเจ็กต์ต่างๆ ซึ่งแต่ละโปรเจ็กต์ขึ้นอยู่กับ NDK เวอร์ชันที่เฉพาะเจาะจง
Android Studio จะติดตั้ง NDK ทุกเวอร์ชันในไดเรกทอรี android-sdk/ndk/
หากต้องการติดตั้ง CMake และ NDK เริ่มต้นใน Android Studio ให้ทำดังนี้
เมื่อเปิดโปรเจ็กต์แล้ว ให้คลิกเครื่องมือ > SDK Manager
คลิกแท็บ SDK Tools
เลือกช่องทำเครื่องหมาย NDK (แบบเคียงข้างกัน) และ CMake
รูปที่ 1 หน้าต่างเครื่องมือ SDK ที่แสดงตัวเลือก NDK (ควบคู่กัน)
คลิกตกลง
กล่องโต้ตอบจะแจ้งให้ทราบว่าแพ็กเกจ NDK ใช้พื้นที่ในดิสก์เท่าใด
คลิกตกลง
เมื่อติดตั้งเสร็จแล้ว ให้คลิก Finish (เสร็จสิ้น)
โปรเจ็กต์จะซิงค์ไฟล์บิลด์และทำการบิลด์โดยอัตโนมัติ แก้ไขข้อผิดพลาดที่เกิดขึ้น
กำหนดค่า CMake เวอร์ชันที่เฉพาะเจาะจง
SDK Manager มี CMake เวอร์ชัน 3.6.0 ที่แยกออกมาและเวอร์ชัน 3.10.2 โปรเจ็กต์ที่ไม่ได้ตั้งค่า
เวอร์ชัน CMake ที่เฉพาะเจาะจงจะสร้างด้วย CMake 3.10.2 หากต้องการ
ตั้งค่าเวอร์ชัน CMake ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ build.gradle
ของโมดูล
Groovy
android { ... externalNativeBuild { cmake { ... version "cmake-version" } } }
Kotlin
android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }
หากต้องการใช้ CMake เวอร์ชันที่ไม่ได้รวมอยู่ใน SDK Manager ให้ทำตามขั้นตอนต่อไปนี้
- ดาวน์โหลดและติดตั้ง CMake จากเว็บไซต์ทางการของ CMake
- ระบุเวอร์ชัน CMake ที่ต้องการให้ Gradle ใช้ในไฟล์
build.gradle
ของโมดูล เพิ่มเส้นทางการติดตั้ง CMake ไปยังตัวแปรสภาพแวดล้อม
PATH
หรือรวมไว้ในไฟล์local.properties
ของโปรเจ็กต์ตามที่แสดง หาก Gradle ไม่พบ CMake เวอร์ชันที่คุณระบุในไฟล์build.gradle
คุณจะได้รับข้อผิดพลาดในการสร้าง# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"</pre>
หากยังไม่ได้ติดตั้งระบบบิลด์ Ninja ในเวิร์กสเตชัน ให้ไปที่เว็บไซต์อย่างเป็นทางการของ Ninja แล้วดาวน์โหลดและติดตั้ง Ninja เวอร์ชันล่าสุดที่พร้อมใช้งานสำหรับระบบปฏิบัติการของคุณ อย่าลืมเพิ่มเส้นทางการติดตั้ง Ninja ลงใน
PATH
ตัวแปรสภาพแวดล้อมด้วย
ติดตั้ง NDK เวอร์ชันที่เฉพาะเจาะจง
หากต้องการติดตั้ง NDK เวอร์ชันที่เฉพาะเจาะจง ให้ทำดังนี้
เมื่อเปิดโปรเจ็กต์แล้ว ให้คลิกเครื่องมือ > SDK Manager
คลิกแท็บ SDK Tools
เลือกช่องทําเครื่องหมายแสดงรายละเอียดแพ็กเกจ
เลือกช่องทำเครื่องหมาย NDK (ควบคู่กัน) และช่องทำเครื่องหมายด้านล่างที่ สอดคล้องกับเวอร์ชัน NDK ที่ต้องการติดตั้ง Android Studio จะติดตั้ง NDK ทุกเวอร์ชันในไดเรกทอรี
android-sdk/ndk/
เนื่องจากค่าดังกล่าวเลิกใช้งานแล้วรูปที่ 2 หน้าต่างเครื่องมือ SDK ที่แสดงตัวเลือก NDK (ควบคู่กัน)
คลิกตกลง
กล่องโต้ตอบจะแจ้งให้ทราบว่าแพ็กเกจ NDK ใช้พื้นที่เท่าใด
คลิกตกลง
เมื่อติดตั้งเสร็จแล้ว ให้คลิก Finish (เสร็จสิ้น)
โปรเจ็กต์จะซิงค์ไฟล์บิลด์และทำการบิลด์โดยอัตโนมัติ แก้ไขข้อผิดพลาดที่เกิดขึ้น
กำหนดค่าแต่ละโมดูลด้วย NDK เวอร์ชันที่ต้องการให้ใช้ เมื่อใช้ Android Studio 3.6 ขึ้นไป หากคุณไม่ได้ ระบุเวอร์ชัน ปลั๊กอิน Android Gradle จะเลือกเวอร์ชันที่ ทราบว่าเข้ากันได้
กำหนดค่า NDK เวอร์ชันที่เฉพาะเจาะจงในโปรเจ็กต์
คุณอาจต้องกำหนดค่าเวอร์ชันของ NDK ในโปรเจ็กต์หากข้อใดข้อหนึ่งต่อไปนี้เป็นจริง
- โปรเจ็กต์ของคุณได้รับการสืบทอดมาและคุณต้องใช้ NDK และปลั๊กอิน Android Gradle (AGP) เวอร์ชันที่เฉพาะเจาะจง ดูข้อมูลเพิ่มเติมได้ที่ กำหนดค่า NDK สำหรับปลั๊กอิน Android Gradle
คุณติดตั้ง NDK ไว้หลายเวอร์ชันและต้องการใช้เวอร์ชันใดเวอร์ชันหนึ่ง ในกรณีนี้ ให้ระบุเวอร์ชันโดยใช้พร็อพเพอร์ตี้
android.ndkVersion
ในไฟล์build.gradle
ของโมดูล ดังที่แสดงในตัวอย่างโค้ด ต่อไปนี้Groovy
android { ndkVersion "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Kotlin
android { ndkVersion = "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
เวอร์ชัน NDK เริ่มต้นต่อเวอร์ชัน AGP
ก่อนการเผยแพร่ เราจะทดสอบ AGP แต่ละเวอร์ชันอย่างละเอียดด้วย NDK เวอร์ชันเสถียรล่าสุด
ที่เผยแพร่ในขณะนั้น ระบบจะใช้ NDK เวอร์ชันนี้เพื่อสร้างโปรเจ็กต์หากคุณไม่ได้ระบุเวอร์ชัน NDK ในไฟล์ build.gradle
เวอร์ชัน NDK เริ่มต้น
สำหรับ AGP เวอร์ชันต่างๆ มีระบุไว้ใน
บันทึกประจำรุ่นของ AGP และ
บันทึกประจำรุ่นที่ผ่านมาของ AGP