Stay organized with collections
Save and categorize content based on your preferences.
PackageIdentifier
open class PackageIdentifier
This class represents a uniquely identifiable package.
Summary
Public constructors |
Creates a unique identifier for a package.
|
Public methods |
open Boolean |
Indicates whether some other object is "equal to" this one.
|
open String |
Returns the name for a package.
|
open ByteArray |
Returns the SHA-256 certificate for a package.
|
open Int |
|
Public constructors
PackageIdentifier
PackageIdentifier(
packageName: String,
sha256Certificate: ByteArray)
Creates a unique identifier for a package.
SHA-256 certificate digests for a signed application can be retrieved with the apksigner tool that is part of the Android SDK build tools. Use apksigner verify --print-certs path/to/apk.apk
to retrieve the SHA-256 certificate digest for the target application. Once retrieved, the SHA-256 certificate digest should be converted to a byte[]
by decoding it in base16:
new android.content.pm.Signature(outputDigest).toByteArray();
Parameters |
packageName |
String: Name of the package. This value cannot be null . |
sha256Certificate |
ByteArray: SHA-256 certificate digest of the package. This value cannot be null . |
Public methods
equals
open fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
, x.equals(x)
should return true
.
- It is symmetric: for any non-null reference values
x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
.
- It is transitive: for any non-null reference values
x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
.
- It is consistent: for any non-null reference values
x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return false
, provided no information used in equals
comparisons on the objects is modified.
- For any non-null reference value
x
, x.equals(null)
should return false
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters |
obj |
This value may be null . |
Return |
Boolean |
true if this object is the same as the obj argument; false otherwise. |
getPackageName
open fun getPackageName(): String
Returns the name for a package.
Return |
String |
This value cannot be null . |
getSha256Certificate
open fun getSha256Certificate(): ByteArray
Returns the SHA-256 certificate for a package.
hashCode
open fun hashCode(): Int
Return |
Int |
a hash code value for this object. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# PackageIdentifier\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nPackageIdentifier\n=================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/app/appsearch/PackageIdentifier \"View this page in Java\") \n\n```\nopen class PackageIdentifier\n```\n\n|---|----------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||\n| ↳ | [android.app.appsearch.PackageIdentifier](#) |\n\nThis class represents a uniquely identifiable package.\n\nSummary\n-------\n\n| Public constructors ||\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| [PackageIdentifier](#PackageIdentifier(kotlin.String,%20kotlin.ByteArray))`(`packageName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `sha256Certificate:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`)` Creates a unique identifier for a package. |\n\n| Public methods ||\n|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| open [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [equals](#equals(kotlin.Any))`(`other:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)?`)` Indicates whether some other object is \"equal to\" this one. |\n| open [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [getPackageName](#getPackageName())`()` Returns the name for a package. |\n| open [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html) | [getSha256Certificate](#getSha256Certificate())`()` Returns the SHA-256 certificate for a package. |\n| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [hashCode](#hashCode())`()` \u003cbr /\u003e |\n\nPublic constructors\n-------------------\n\n### PackageIdentifier\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nPackageIdentifier(\n packageName: String, \n sha256Certificate: ByteArray)\n```\n\nCreates a unique identifier for a package.\n\nSHA-256 certificate digests for a signed application can be retrieved with the [apksigner tool](https://developer.android.com/studio/command-line/apksigner/) that is part of the Android SDK build tools. Use `apksigner verify --print-certs path/to/apk.apk` to retrieve the SHA-256 certificate digest for the target application. Once retrieved, the SHA-256 certificate digest should be converted to a `byte[]` by decoding it in base16: \n\n```kotlin\nnew android.content.pm.Signature(outputDigest).toByteArray();\n \n```\n\n| Parameters ||\n|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html): Name of the package. This value cannot be `null`. |\n| `sha256Certificate` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html): SHA-256 certificate digest of the package. This value cannot be `null`. |\n\nPublic methods\n--------------\n\n### equals\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun equals(other: Any?): Boolean\n```\n\nIndicates whether some other object is \"equal to\" this one.\n\nThe `equals` method implements an equivalence relation on non-null object references:\n\n- It is *reflexive* : for any non-null reference value `x`, `x.equals(x)` should return `true`.\n- It is *symmetric* : for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.\n- It is *transitive* : for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.\n- It is *consistent* : for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.\n- For any non-null reference value `x`, `x.equals(null)` should return `false`.\n\nAn equivalence relation partitions the elements it operates on into *equivalence classes*; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.\n\n| Parameters ||\n|-------|---------------------------|\n| `obj` | This value may be `null`. |\n\n| Return ||\n|------------------------------------------------------------------------------------|---------------------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | `true` if this object is the same as the obj argument; `false` otherwise. |\n\n### getPackageName\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun getPackageName(): String\n```\n\nReturns the name for a package.\n\n| Return ||\n|----------------------------------------------------------------------------------|------------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | This value cannot be `null`. |\n\n### getSha256Certificate\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun getSha256Certificate(): ByteArray\n```\n\nReturns the SHA-256 certificate for a package.\n\n| Return ||\n|-----------------------------------------------------------------------------------------|------------------------------|\n| [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html) | This value cannot be `null`. |\n\n### hashCode\n\nAdded in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun hashCode(): Int\n```\n\n| Return ||\n|----------------------------------------------------------------------------|------------------------------------|\n| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | a hash code value for this object. |"]]