天天看點

超簡單一行代碼實作應用雙開,仿照微信雙開、QQ雙開等實作app應用雙開,即采用Android插件化開發在免安裝情況下加載使用原生appLoadApp最新版本使用體驗使用方法使用示例:項目用到的權限使用指南相關介紹其它資訊作者郵箱

超簡單一行代碼實作應用雙開,仿照微信雙開、QQ雙開等實作app應用雙開,即采用Android插件化開發在免安裝情況下加載使用原生app

LoadApp

仿照微信雙開、QQ雙開等實作app應用雙開,即在免安裝情況下加載使用原生app,采用仿支付寶加載應用和微信加載小程式的功能特色,實作應用免安裝情況下運作。

本項目主要采用插件化開發技術,在一個容器app中,把其它的app以檔案流的形式進行加載,利用反射等方法獲得相關的程式入口,進行加載和使用。

加載app的方法都封裝了需要參數,根據方法名結合自身需要傳輸的參數即可了解需要使用的方法,隻需要一行代碼進行調用和實作。

官網位址

其它資訊

源碼位址

最新版本

版本号:

超簡單一行代碼實作應用雙開,仿照微信雙開、QQ雙開等實作app應用雙開,即采用Android插件化開發在免安裝情況下加載使用原生appLoadApp最新版本使用體驗使用方法使用示例:項目用到的權限使用指南相關介紹其它資訊作者郵箱

使用自行替換下面的版本号,以獲得最新版本。

使用體驗

1、首先下載下傳容器app,也是主app,這個app可以獨立運作,也就是普通的app應用程式,需要下載下傳并安裝,下載下傳位址:

https://github.com/YouAreOnlyOne/LoadApp/blob/master/source/loadapp.apk。

安裝之後,直接運作,但是隻有簡單的HelloWorld界面,點選“加載APP”也不會有什麼反應,不能夠跳轉到其它的app,會提示“檔案是否存在”。

2、下載下傳另一個需要的app,這個app也可以獨立安裝,也是一個普通的app應用程式,可以安裝也可以不安裝(實作雙開效果需要安裝),但是要把安裝包(apk檔案)放到手機存儲的根目錄下面,下載下傳位址:

https://github.com/YouAreOnlyOne/LoadApp/blob/master/source/develop.apk 。

此時,重新進入主app,點選“加載APP”,就會把這個這一步下載下傳的app加載進去。實作免安裝使用。我們我們加載的這個app也是一個獨立app,可以進行安裝,安裝之後就會達到容器裡面加載了這個app,本身這個app又可以安裝使用,達到應用雙開的效果。

使用方法

這裡分别介紹在不同項目環境中,如何引用對該庫的依賴。

Android中使用:

方法一:

1.第一步,在項目的build.gradle下配置,注意是項目的build.gradle:

allprojects {
	repositories {
		...
		maven { url 'https://www.jitpack.io' }
	}
}
           

2.第二步,在app的build.gradle下添加如下依賴:

dependencies {
        ...
        implementation 'com.github.YouAreOnlyOne:LoadApp:版本号'
        ...
 }
           

方法二:

1.第一步,下載下傳依賴的包:

https://github.com/YouAreOnlyOne/LoadApp/blob/master/source/standard-release.aar 。

https://github.com/YouAreOnlyOne/LoadApp/blob/master/source/develop-release.aar 。

https://github.com/YouAreOnlyOne/LoadApp/blob/master/source/app-release.aar 。

并放到項目的 libs 目錄下面。

2.第二步,在app的build.gradle下添加如下依賴,注意,兩個依賴是平級關系:

repositories {
   flatDir {
       dirs 'libs'
     }
}

dependencies {
        ...
        compile(name:'standard-release', ext:'aar')
        compile(name:'develop-release', ext:'aar')
        compile(name:'app-release', ext:'aar')
        ...
}
           

使用示例:

建立容器APP

1、Android環境中随便建立一個普通Android項目(注意添加上面的依賴),在任何一個Activity中,調用下面一行代碼即可:

LoadApp.loadApp(this,new File("app檔案的路徑"));
           

建立其它APP

1、Android環境中随便建立一個普通Android項目(注意添加上面的依賴),建立一個Activity,這個Activity需要繼承架構的BaseActivity,該Activity中的所有的上下文環境的this全部用that代替即可,其它沒有任何要求,跟普通app開發完全一樣。例如下面簡單的demo:

public class MainActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    that.findViewById(R.id.textView).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(that,"點選事件成功!",Toast.LENGTH_LONG).show();
            Intent intent=new Intent(that,SecondActivity.class);
            startActivity(intent);
        }
    });
  }
}
           

2、編譯該應用程式,生成apk。把生成的apk放到手機存儲卡裡面,或者伺服器上面。

3、上面容器APP中,可以讀取手機存儲卡裡面的app檔案,也可以從伺服器先下載下傳到本地,然後再讀取。總之隻要活得需要加載的APP的檔案路徑就可以了。

項目用到的權限

在manifest檔案中添加通路的權限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
           

使用指南

更新中……

相關介紹

OkHttp 、Retrofit 、Volley 、RxJava、Novate在Android中Web網絡請求一行代碼解決。

https://blog.csdn.net/u014374009/article/details/82933127

一行代碼實作Ftp檔案上傳、檔案下載下傳、檔案删除和進度監聽的工具類的使用。

https://blog.csdn.net/u014374009/article/details/82944107

一行代碼解決AndFix熱修複和熱跟更新問題,內建了阿裡的開源庫,修複程式的缺陷bug漏洞和功能頁面等.

https://blog.csdn.net/u014374009/article/details/83052178

其它資訊

1.項目還有很多不完善的地方,歡迎大家指導。

2.項目持續更新開源,有興趣加入項目或者跟随項目的夥伴,可以郵件聯系!

3.關注或者喜歡或者嘗試使用或者感興趣的夥伴可以,點選 ~ follow、fork、star ~ 。

作者郵箱

[email protected]

繼續閱讀