<uses-native-library>

ไวยากรณ์:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
มีอยู่ใน
<application>
คำอธิบาย:

ระบุไลบรารีแบบเนทีฟที่แชร์ซึ่งผู้ให้บริการระบุ ซึ่งแอปพลิเคชันต้องลิงก์ด้วย องค์ประกอบนี้จะบอกให้ระบบทำให้ไลบรารีเนทีฟ เข้าถึงได้สำหรับแพ็กเกจ

ไลบรารี NDK จะเข้าถึงได้โดยค่าเริ่มต้น จึงไม่จำเป็นต้องใช้แท็ก <uses-native-library>

ไลบรารีที่แชร์แบบเนทีฟที่ไม่ใช่ NDK ซึ่งจัดหาโดยผู้จำหน่ายซิลิคอนหรือผู้ผลิตอุปกรณ์ จะเข้าถึงไม่ได้โดยค่าเริ่มต้นหากแอปกำหนดเป้าหมายเป็น Android 12 (ระดับ API 31) ขึ้นไป โดยจะเข้าถึงไลบรารีได้ก็ต่อเมื่อมีการขออย่างชัดเจนโดยใช้แท็ก <uses-native-library> เท่านั้น

หากแอปกำหนดเป้าหมายเป็น Android 11 (ระดับ API 30) หรือต่ำกว่า คุณไม่จำเป็นต้องใช้แท็ก <uses-native-library> ในกรณีนี้ คุณจะเข้าถึงไลบรารีที่แชร์แบบเนทีฟได้ไม่ว่าจะเป็นไลบรารี NDK หรือไม่ก็ตาม

องค์ประกอบนี้ยังมีผลต่อการติดตั้งแอปพลิเคชันในอุปกรณ์หนึ่งๆ ด้วย หากมีองค์ประกอบนี้และแอตทริบิวต์ android:required ตั้งค่าเป็น true เฟรมเวิร์ก PackageManager จะไม่อนุญาตให้ผู้ใช้ติดตั้งแอปพลิเคชัน เว้นแต่ว่าจะมีไลบรารีอยู่ในอุปกรณ์ของผู้ใช้

เราจะอธิบายแอตทริบิวต์ android:required โดยละเอียดในส่วนต่อไปนี้

แอตทริบิวต์
android:name
ชื่อของไฟล์ไลบรารี
android:required
ค่าบูลีนที่ระบุว่าแอปพลิเคชันต้องใช้ไลบรารีที่ระบุโดย android:name หรือไม่
  • "true": แอปพลิเคชันจะทำงานไม่ได้หากไม่มีไลบรารีนี้ ระบบไม่อนุญาตให้ติดตั้งแอปพลิเคชันในอุปกรณ์ที่ไม่มีไลบรารี
  • "false": แอปพลิเคชันจะใช้ไลบรารี หากมี แต่ได้รับการออกแบบมาให้ทำงานได้โดยไม่ต้องใช้ไลบรารีหากจำเป็น ระบบจะอนุญาตให้แอปพลิเคชันติดตั้งได้แม้ว่าจะไม่มีไลบรารี ก็ตาม หากคุณใช้ "false" คุณมีหน้าที่รับผิดชอบในการ จัดการการไม่มีไลบรารีอย่างเหมาะสม

โดยมีค่าเริ่มต้นเป็น "true"

เปิดตัวใน
ระดับ API 31
ดูเพิ่มเติม