Auto Installer Library
A library makes your application's auto update more elegant !
Don't forget give me a star :)
Feature
- Just one line of code to solve the silent download and silent installation
AutoInstaller.getDefault(this).install(APK_FILE_PATH);
- two ways of silent installation:
ROOT
andAccessibilityService
, can automatically chose the valid way.
Dependency
There are two ways:
- clone this project, and use as dependency
- just add following code to you build.gradle:
// Add it in your root build.gradle at the end of repositories
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
// Add the dependency
dependencies {
compile 'com.github.a-voyager:AutoInstaller:v1.0'
}
Usage
- Get the instance
get default instance or use
AutoInstaller.builder
to build a instance
AutoInstaller installer = AutoInstaller.getDefault(this);
- Register listener
installer.setOnStateChangedListener(new AutoInstaller.OnStateChangedListener() {
@Override
public void onStart() {
// callback when it starts installing
mProgressDialog.show();
}
@Override
public void onComplete() {
// callback when is complete request installing
mProgressDialog.dismiss();
}
@Override
public void onNeed2OpenService() {
// callback when `AccessibilityService` is needs and start the `AccessibilityService` Activity
// here you can notify user to open the service
Toast.makeText(MainActivity.this, "Please open Accessibility Service", Toast.LENGTH_SHORT).show();
}
});
- Installation
install()
is an asynchronous method, call this to request install an application with parameterfile path
orhttp url
// file path
installer.install(APK_FILE_PATH);
// or http url
installer.installFromUrl(APK_URL);
More
Use builder to config installer, contains installation mode、cache directory...
AutoInstaller installer = new AutoInstaller.Builder(this)
.setMode(AutoInstaller.MODE.AUTO_ONLY)
.setCacheDirectory(CACHE_FILE_PATH)
.build();
Updates
- fixed on Android O
- support override install