手把手教你整合滴滴的外掛程式化框架virtualapk

2021-08-13 21:50:42 字數 2246 閱讀 5115

首先是virtualapk的官方demo:

然後,開始整合,咱們一步一步來。

第二步:修改編譯環境,virtualapk對編譯環境有很大的限制,我使用的編譯環境是:

第三步:建立乙個外掛程式。

選擇new module

選擇phone&tablet module

然後就和建立專案一樣了,建議是不要把主類的名稱和宿主的類名相同(宿主就是最開始建立的專案)。如果建立一樣的話,可能造成跳轉頁面出現空白。

第四步:新增依賴。

在專案根目錄的build.gradle的dependencies標籤下新增

classpath 'com.didi.virtualapk:gradle:0.9.4',也就是這樣的

在宿主下的build.gradle的

dependencies標籤下新增

在頂部新增

在外掛程式的build.gradle的

dependencies標籤下新增

compile 'com.didi.virtualapk:core:0.9.1'

在最底部新增 }

解釋一下virtualapk標籤下的三個引數:

packageid:外掛程式資源id,避免資源id衝突

targethost:宿主路徑,可以使相對路徑也可以是絕對路徑

第五步:

第六步:

private void loadplugin(context base)  catch (exception e) 

} else

}

這個方法是用來載入外掛程式,可以在合適的時候執行它,我是在mainactivity的oncreate方法中呼叫的。

注意外掛程式的路徑、名字一定要正確負責會導致宿主找不到外掛程式導致崩潰。

btn.setonclicklistener(new view.onclicklistener() 

});

我在宿主中只實現了簡單的跳轉,注意外掛程式的包名、類路徑一定一定一定要寫正確。    第七步:外掛程式中的**,我只顯示了一張,所以**就不貼出來了。    第八步:安裝,先來說說使用命令列的:(1).連線手機並編譯宿主工程    進入工程目錄下,執行gradlew clean ir(2).構建外掛程式並將外掛程式推送到手機sd卡的根目錄    執行 gradlew clean assembleplugin

注意第二條命令,其中的pluginapk-release-unsigned.apk是生成的外掛程式名稱,位置在外掛程式工程中的build->outputs->apk下,plugin.apk是在宿主中定義好的名稱,一定不能寫錯。

再來說說另一種方法:

(1).打包安裝宿主工程,這個應該都會就不截圖了。

(2).生成外掛程式工程:

雙擊我標記的選項,等待構建成功就能在外掛程式工程中的build->outputs->apk下找到構建成功的外掛程式apk了,然後手動放到指定好的目錄下,注意,外掛程式的名稱一定是在宿主中規定好的名稱。

外掛程式包均是release包,不支援debug模式的外掛程式包。

第九步:執行 

執行成功,撒花。

以上就是簡單的整合過程了,更高大上的操作就需要各位自己研究了。

手把手教你編寫Logstash外掛程式

使用過logstash的朋友都知道,它強大的外掛程式生態幾乎覆蓋了所有的開源框架。從基本的http tcp udp file,到強大的kafa redis ganglia,還有豐富的解析工具,比如date json grok kv等等,有了它再也不用擔心資料不好蒐集了!不過需求是無限的,如果這些框架...

Vue CLI 手把手教你擼外掛程式

現如今 vue 作為主流的前端框架之一,其健全的配套工具,活躍的開源社群,讓廣發碼農熱衷追捧。vue cli 作為其官方的開發構建工具,目前已更新迭代到 4.x 版本,其內部整合了日常開發用到的打包壓縮等功能,簡化了常規自己動手配置 webpack 的煩惱。另外提供的外掛程式功能更是滿足了使用者定製...

手把手教你Docker部署若依專案 整合

四 啟動測試 五 結語 相關鏈結 當我們將若依專案的前端和後端都製作成映象後,我們就開始整合。實現真正的一鍵部署。文末有相關連線 這裡我們採用的是前後分離的ruoyi vue專案,所以我們要分別製作後端docker映象和前端docker映象。後端服務,該專案主要是springboot專案,其中依賴了...