<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
ดูเพิ่มเติม: