หากต้องการคอมไพล์และแก้ไขข้อบกพร่องโค้ดเนทีฟสําหรับแอป คุณต้องมีคอมโพเนนต์ต่อไปนี้
- 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
คลิกแท็บเครื่องมือ SDK
เลือกช่องทําเครื่องหมาย NDK (ควบคู่กัน) และ CMake
รูปที่ 1 หน้าต่างเครื่องมือ SDK ที่แสดงตัวเลือก NDK (ควบคู่กัน)
คลิกตกลง
กล่องโต้ตอบจะบอกคุณว่าแพ็กเกจ NDK ใช้พื้นที่ในดิสก์เท่าใด
คลิกตกลง
เมื่อติดตั้งเสร็จแล้ว ให้คลิก Finish (เสร็จสิ้น)
โปรเจ็กต์จะซิงค์ไฟล์บิลด์และทำการบิลด์โดยอัตโนมัติ แก้ไขข้อผิดพลาดที่เกิดขึ้น
กำหนดค่า CMake เวอร์ชันที่เฉพาะเจาะจง
เครื่องมือจัดการ SDK มี 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
คลิกแท็บเครื่องมือ SDK
เลือกช่องทำเครื่องหมายแสดงรายละเอียดแพ็กเกจ
เลือกช่องทำเครื่องหมาย 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