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