AutoInstaller
Introduction: 应用自动静默更新安装库.
Tags:
静默升级-无障碍模式安装-AccessibilityService-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 instanceAutoInstaller 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