Native Development Kit (NDK) คือชุดเครื่องมือที่ช่วยให้คุณใช้ C และโค้ด C++ กับ Android และมีไลบรารีแพลตฟอร์มที่คุณนำไปใช้จัดการได้ กิจกรรมที่มีอยู่แต่เดิม และเข้าถึงส่วนประกอบของอุปกรณ์ทางกายภาพ เช่น เซ็นเซอร์และ การป้อนข้อมูลด้วยการสัมผัส NDK อาจไม่เหมาะสมสำหรับ Android มือใหม่ส่วนใหญ่ โปรแกรมเมอร์ที่จำเป็นต้องใช้โค้ด Java และ API เฟรมเวิร์กเท่านั้นในการพัฒนา แอปของตนได้ อย่างไรก็ตาม NDK อาจมีประโยชน์ในกรณีที่คุณต้องการ ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
- บีบประสิทธิภาพเพิ่มเติมออกจากอุปกรณ์เพื่อให้เวลาในการตอบสนองต่ำหรือทำงาน แอปพลิเคชันที่เน้นการคำนวณมาก เช่น เกมหรือการจำลองฟิสิกส์
- ใช้ของคุณเองหรือของนักพัฒนาซอฟต์แวร์คนอื่นๆ ซ้ำ C หรือ C++
เมื่อใช้ Android Studio 2.2 ขึ้นไป คุณจะทำสิ่งต่อไปนี้ได้ ใช้ NDK เพื่อรวบรวมโค้ด C และ C++ ลงในไลบรารีเนทีฟและจัดแพ็กเกจโค้ดนั้น ลงใน APK โดยใช้ Gradle ซึ่งเป็นระบบบิลด์ที่ผสานรวมของ IDE รหัส Java ของคุณ จะสามารถเรียกใช้ฟังก์ชันในคลังแบบเนทีฟผ่านเฟรมเวิร์ก Java Native Interface (JNI) เพื่อเรียนรู้ ข้อมูลเพิ่มเติมเกี่ยวกับ Gradle และระบบบิลด์ของ Android ที่หัวข้อกำหนดค่าบิลด์ของคุณ
เครื่องมือสร้างเริ่มต้นของ Android Studio สำหรับคอมไพล์ไลบรารีเนทีฟคือ CMake นอกจากนี้ Android Studio ยัง สนับสนุน ndk-build เนื่องจาก จำนวนโปรเจ็กต์ที่มีอยู่ซึ่งใช้ชุดเครื่องมือบิลด์ แต่ถ้าคุณ การสร้างไลบรารีเนทีฟใหม่ คุณควรใช้ CMake
คู่มือนี้จะให้ข้อมูลที่คุณจําเป็นในการเริ่มต้นใช้งาน NDK ใน Android Studio หากยังไม่มี Android เวอร์ชันล่าสุด Studio ดาวน์โหลดและติดตั้งเลย
ดึงดูดความสนใจของผู้ใช้ Gradle เวอร์ชันทดลอง: โปรดพิจารณา การเปลี่ยนไปใช้ปลั๊กอินเวอร์ชัน 2.2.0 ขึ้นไปและใช้ CMake หรือ ndk-build เพื่อสร้างไลบรารีเนทีฟหากเป็นไปตามเงื่อนไขใดๆ ต่อไปนี้: โปรเจ็กต์แบบเนทีฟใช้ CMake หรือ ndk-build อยู่แล้ว ควรใช้เวอร์ชันเสถียร เวอร์ชันของระบบบิลด์ Gradle หรือต้องการการรองรับเครื่องมือเสริม เช่น CCache มิฉะนั้น คุณสามารถ ใช้ เวอร์ชันทดลองของ Gradle และปลั๊กอิน Android
ดาวน์โหลด NDK และเครื่องมือ
หากต้องการคอมไพล์และแก้ไขข้อบกพร่องของโค้ดเนทีฟสำหรับแอป คุณต้องมีสิ่งต่อไปนี้ คอมโพเนนต์
- Android Native Development Kit (NDK): ชุดเครื่องมือที่ช่วยให้คุณสามารถ เพื่อใช้โค้ด C และ C++ กับ Android
- CMake: เครื่องมือสร้างภายนอกที่ทำงานร่วมกับ Gradle เพื่อสร้าง ไลบรารีแบบเนทีฟ คุณไม่จำเป็นต้องใช้คอมโพเนนต์นี้หากวางแผนที่จะใช้เท่านั้น ndk-build
- LLDB: โปรแกรมแก้ไขข้อบกพร่องที่ Android Studio ใช้เพื่อแก้ไขข้อบกพร่องของโค้ดแบบเนทีฟ
โปรดดูข้อมูลเกี่ยวกับการติดตั้งคอมโพเนนต์เหล่านี้ที่หัวข้อติดตั้งและกำหนดค่า NDK และ CMake
สร้างหรือนำเข้าโปรเจ็กต์เนทีฟ
เมื่อตั้งค่า Android Studio แล้ว เพียงสร้างโปรเจ็กต์ใหม่ด้วย การรองรับ C/C++ อย่างไรก็ตามหากคุณต้องการเพิ่มหรือนำเข้าโค้ดเนทีฟไปยังไฟล์ โปรเจ็กต์ Android Studio ที่มีอยู่ คุณต้องทำตามขั้นตอนพื้นฐานต่อไปนี้
-
สร้างใหม่
ไฟล์ต้นฉบับดั้งเดิม แล้วเพิ่มลงในโปรเจ็กต์ Android Studio ของคุณ
- คุณสามารถข้ามขั้นตอนนี้ได้หากมีโค้ดแบบเนทีฟอยู่แล้วหรือต้องการที่จะ นำเข้าไลบรารีเนทีฟที่สร้างไว้ล่วงหน้า
-
สร้าง
สคริปต์บิลด์ CMake เพื่อบอก CMake ถึงวิธีสร้างแหล่งที่มาเนทีฟ
ลงในไลบรารี คุณยังต้องใช้สคริปต์บิลด์นี้หากกำลังนำเข้าและ
การลิงก์กับไลบรารีแพลตฟอร์มที่สร้างไว้ล่วงหน้า
- คุณสามารถข้ามขั้นตอนนี้ได้หากไลบรารีเนทีฟที่มีอยู่
CMakeLists.txt
สคริปต์บิลด์ หรือใช้ ndk-build และรวมAndroid.mk
สคริปต์บิลด์
- คุณสามารถข้ามขั้นตอนนี้ได้หากไลบรารีเนทีฟที่มีอยู่
-
ลิงก์ Gradle กับ
ไลบรารีเนทีฟ โดยการระบุเส้นทางไปยัง CMake หรือ ndk-build ของคุณ
ไฟล์สคริปต์ Gradle ใช้สคริปต์บิลด์เพื่อนำเข้าซอร์สโค้ดไปยัง
โปรเจ็กต์ Android Studio และจัดแพ็กเกจไลบรารีเนทีฟ (ไฟล์ SO) ลงในไฟล์
APK
หมายเหตุ: หากโปรเจ็กต์ที่มีอยู่ของคุณใช้เวอร์ชัน
ndkCompile
คุณควรเปิดbuild.properties
ไฟล์และนำบรรทัดโค้ดต่อไปนี้ออก ก่อนที่จะกำหนดค่า Gradle ให้ใช้ CMake หรือ ndk-build:// Remove this line android.useDeprecatedNdk = true
- สร้างและเรียกใช้แอปโดยคลิก เรียกใช้ เพิ่ม Gradle กระบวนการ CMake หรือ ndk-build ของคุณเป็นทรัพยากร Dependency ในการคอมไพล์ สร้าง และ สร้างแพ็กเกจไลบรารีเนทีฟด้วย APK
เมื่อแอปของคุณกำลังทำงานบนอุปกรณ์จริงหรือโปรแกรมจำลอง คุณสามารถใช้ Android Studio เพื่อแก้ไขข้อบกพร่องของแอป หรือหากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับ NDK และคอมโพเนนต์ต่างๆ ให้อ่านหน้า แนวคิด