lightbulb_outline Please take our October 2018 developer survey. Start survey

SharedLibraryInfo

public final class SharedLibraryInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.content.pm.SharedLibraryInfo


This class provides information for a shared library. There are three types of shared libraries: builtin - non-updatable part of the OS; dynamic - updatable backwards-compatible dynamically linked; static - updatable non backwards-compatible emulating static linking.

Summary

Constants

int TYPE_BUILTIN

Shared library type: this library is a part of the OS and cannot be updated or uninstalled.

int TYPE_DYNAMIC

Shared library type: this library is backwards-compatible, can be updated, and updates can be uninstalled.

int TYPE_STATIC

Shared library type: this library is not backwards -compatible, can be updated and updates can be uninstalled.

int VERSION_UNDEFINED

Constant for referring to an undefined version.

Inherited constants

Fields

public static final Creator<SharedLibraryInfo> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

VersionedPackage getDeclaringPackage()

Gets the package that declares the library.

List<VersionedPackage> getDependentPackages()

Gets the packages that depend on the library.

long getLongVersion()

Gets the version of the library.

String getName()

Gets the library name an app defines in its manifest to depend on the library.

int getType()

Gets the type of this library.

int getVersion()

This method was deprecated in API level 28. Use getLongVersion() instead.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel parcel, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

TYPE_BUILTIN

added in API level 26
public static final int TYPE_BUILTIN

Shared library type: this library is a part of the OS and cannot be updated or uninstalled.

Constant Value: 0 (0x00000000)

TYPE_DYNAMIC

added in API level 26
public static final int TYPE_DYNAMIC

Shared library type: this library is backwards-compatible, can be updated, and updates can be uninstalled. Clients link against the latest version of the library.

Constant Value: 1 (0x00000001)

TYPE_STATIC

added in API level 26
public static final int TYPE_STATIC

Shared library type: this library is not backwards -compatible, can be updated and updates can be uninstalled. Clients link against a specific version of the library.

Constant Value: 2 (0x00000002)

VERSION_UNDEFINED

added in API level 26
public static final int VERSION_UNDEFINED

Constant for referring to an undefined version.

Constant Value: -1 (0xffffffff)

Fields

CREATOR

added in API level 26
public static final Creator<SharedLibraryInfo> CREATOR

Public methods

describeContents

added in API level 26
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

getDeclaringPackage

added in API level 26
public VersionedPackage getDeclaringPackage ()

Gets the package that declares the library.

Returns
VersionedPackage The package declaring the library.

This value will never be null.

getDependentPackages

added in API level 26
public List<VersionedPackage> getDependentPackages ()

Gets the packages that depend on the library.

Returns
List<VersionedPackage> The dependent packages.

This value will never be null.

getLongVersion

added in API level 28
public long getLongVersion ()

Gets the version of the library. For static libraries this is the declared version and for dynamic and builtin it is VERSION_UNDEFINED as these are not versioned.

Returns
long The version.

Value is -1 or greater.

getName

added in API level 26
public String getName ()

Gets the library name an app defines in its manifest to depend on the library.

Returns
String The name.

getType

added in API level 26
public int getType ()

Gets the type of this library.

Returns
int The library type.

Value is either 0 or combination of TYPE_BUILTIN, TYPE_DYNAMIC or TYPE_STATIC.

getVersion

added in API level 26
public int getVersion ()

This method was deprecated in API level 28.
Use getLongVersion() instead.

Returns
int

Value is -1 or greater.

toString

added in API level 26
public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

added in API level 26
public void writeToParcel (Parcel parcel, 
                int flags)

Flatten this object in to a Parcel.

Parameters
parcel Parcel: The Parcel in which the object should be written.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE.