
中文 | English
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 and AccessibilityService , can automatically chose the valid way.
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' }
-
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 or http url
// file path installer.install(APK_FILE_PATH); // or http url installer.installFromUrl(APK_URL);
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();