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