<uses-native-library>

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

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

ไลบรารี 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
ดูข้อมูลเพิ่มเติมได้ที่