GithubHelp home page GithubHelp logo

autoinstaller's Introduction

Auto Installer Library

Android Arsenal

中文 | 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.

image

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 parameter file path or http 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

  1. fixed on Android O
  2. support override install

Support me

Alipay

Weixin

autoinstaller's People

Contributors

a-voyager avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autoinstaller's Issues

There is a problem parsing the package ?

When downloading , it always execute onNeed2OpenService() , then i turn on AccessibilityService for my app then got There is a problem parsing the package ..

FileUriExposedException

你好出现FileUriExposedException,
android.os.FileUriExposedException: file:///storage/emulated/0/Download/%E5%BE%AE%E4%BF%A1.apk exposed beyond app through Intent.getData()

app

这个是一个app 静默安装另一个app 如果是同一个app升级 用不了 有其他办法吗

root?????

Utils.checkRooted() 返回true,但是之星pm install -r 执行不了

Perform action on installation complete

I appreciate your effort and it is working very well. What I need is when application has been installed it ask the user if u want to open app or just move forwared by clicking done. I want that this library should move user forward without interacting just like without clicking install. It starts installation
Your help will be much appreciated

MD5

Hello

Thanks for good library.
It's great if you add support for MD5 checking before installation.

无法自动安装

第一次运行,会下载,然后跳到安装界面 和 设置界面,在安装完成后,并在设置界面打开服务。清空所有后台,重新点击按钮,只回调了开始和结束,

华为手机无法自动安装

我复制了InstallAccessbilityService.java到我自己项目中去,其他机型都可以自动安装。但是华为手机无法自动安装,华为手机安装时需要检查应用来源,检查完成后会有一个TYPE_ANNOUNCEMENT的事件,但是获取不了它的Window。所以不想模拟安装过程。老哥能帮忙解决吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.