RecoverySystem
public
class
RecoverySystem
extends Object
RecoverySystem contains methods for interacting with the Android
recovery system (the separate partition that can be used to install
system updates, wipe user data, etc.)
Summary
Inherited methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
Public methods
installPackage
public static void installPackage (Context context,
File packageFile)
Reboots the device in order to install the given update
package.
Requires the Manifest.permission.REBOOT
permission.
Requires android.Manifest.permission.RECOVERY
Parameters |
context |
Context : the Context to use |
packageFile |
File : the update package to install. Must be on
a partition mountable by recovery. (The set of partitions
known to recovery may vary from device to device. Generally,
/cache and /data are safe.) |
Throws |
IOException |
if writing the recovery command file
fails, or if the reboot itself fails. |
rebootWipeCache
public static void rebootWipeCache (Context context)
Reboot into the recovery system to wipe the /cache partition.
Parameters |
context |
Context |
rebootWipeUserData
public static void rebootWipeUserData (Context context)
Reboots the device and wipes the user data and cache
partitions. This is sometimes called a "factory reset", which
is something of a misnomer because the system partition is not
restored to its factory state. Requires the
Manifest.permission.REBOOT
permission.
Parameters |
context |
Context : the Context to use |
Throws |
IOException |
if writing the recovery command file
fails, or if the reboot itself fails. |
SecurityException |
if the current user is not allowed to wipe data. |
verifyPackage
public static void verifyPackage (File packageFile,
RecoverySystem.ProgressListener listener,
File deviceCertsZipFile)
Verify the cryptographic signature of a system update package
before installing it. Note that the package is also verified
separately by the installer once the device is rebooted into
the recovery system. This function will return only if the
package was successfully verified; otherwise it will throw an
exception.
Verification of a package can take significant time, so this
function should not be called from a UI thread. Interrupting
the thread while this function is in progress will result in a
SecurityException being thrown (and the thread's interrupt flag
will be cleared).
Parameters |
packageFile |
File : the package to be verified |
listener |
RecoverySystem.ProgressListener : an object to receive periodic progress
updates as verification proceeds. May be null. |
deviceCertsZipFile |
File : the zip file of certificates whose
public keys we will accept. Verification succeeds if the
package is signed by the private key corresponding to any
public key in this file. May be null to use the system default
file (currently "/system/etc/security/otacerts.zip"). |
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.
[null,null,["Last updated 2025-02-10 UTC."],[],[]]