Struct UsesLibrary

Source
pub struct UsesLibrary {
    pub name: Option<String>,
    pub required: Option<VarOrBool>,
}
Expand description

Specifies a shared library that the application must be linked against.

This element tells the system to include the library’s code in the class loader for the package. All of the android packages (such as android.app, android.content, android.view, and android.widget) are in the default library that all applications are automatically linked against. However, some packages (such as maps) are in separate libraries that are not automatically linked. Consult the documentation for the packages you’re using to determine which library contains the package code.

§Node

Google Play uses the elements declared in your app manifest to filter your app from devices that don’t meet its library requirements. For more information about filtering, see the topic Google Play filters.

This element also affects the installation of the application on a particular device and the availability of the application on Google Play:

§Installation

If this element is present and its android:required attribute is set to true, the PackageManager framework won’t let the user install the application unless the library is present on the user’s device.

The android:required attribute is described in detail in the following section.

§XML Syntax

<uses-library
     android:name="string"
     android:required=["true" | "false"] />

§Contained in

<application>

§introduced in

API Level 1

Fields§

§name: Option<String>

The name of the library. The name is provided by the documentation for the package you are using. An example of this is "android.test.runner", a package that contains Android test classes.

§required: Option<VarOrBool>

Boolean value that indicates whether the application requires the library specified by android:name:

  • "true": The application does not function without this library. The system will not allow the application on a device that does not have the library.
  • "false": The application can use the library if present, but is designed to function without it if necessary. The system will allow the application to be installed, even if the library is not present. If you use "false", you are responsible for checking at runtime that the library is available.

To check for a library, you can use reflection to determine if a particular class is available.

The default is "true".

Introduced in: API Level 7.

Trait Implementations§

Source§

impl Clone for UsesLibrary

Source§

fn clone(&self) -> UsesLibrary

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UsesLibrary

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for UsesLibrary

Source§

fn default() -> UsesLibrary

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for UsesLibrary

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for UsesLibrary

Source§

fn eq(&self, other: &UsesLibrary) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for UsesLibrary

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl YaDeserialize for UsesLibrary

Source§

fn deserialize<R: Read>(reader: &mut Deserializer<R>) -> Result<Self, String>

Source§

impl YaSerialize for UsesLibrary

Source§

fn serialize<W: Write>(&self, writer: &mut Serializer<W>) -> Result<(), String>

Source§

fn serialize_attributes( &self, source_attributes: Vec<OwnedAttribute>, source_namespace: Namespace, ) -> Result<(Vec<OwnedAttribute>, Namespace), String>

Source§

impl Eq for UsesLibrary

Source§

impl StructuralPartialEq for UsesLibrary

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,