滴滴插件VirtualApk學習一 編譯

一 代碼

代碼下載

git clone  https://github.com/didi/VirtualAPK

代碼結構:

  • VirtualAPk
    • AndroidStub 插樁文件,配合編譯
    • app  示例demo主工程
    • CoreLibrary 核心庫
    • PluginDemo 示例demo插件
    • virtualapk-gradle-plugin gradle插件

二 編譯

  1. 目前版本的代碼只支持2.14.1版本的gradle,並且插件工程PluginDemo無法通過as來編譯,因此選擇使用gradlew命令來編譯最方便。
  2. clone代碼以後,有兩個分支:master和dev。最好切換到dev分支,親測master分支在編譯過程中會有一些莫名其妙的問題,官方qq討論羣目前也說明使用dev分支來調試。

下面通過gradlew命令來編譯插件工程吧:

cd VirtualApk

./gradlew clean

./gradlew build

如果結果返回BUILD SUCCESSFUL則說明宿主工程構建成功,此時app AndroidStub CoreLibrary三個目錄下的build子目錄會生成對應的apk或者aar文件

接着編譯插件工程:

cd PluginDemo

./make.sh

如果結果返回BUILD SUCCESSFUL則說明插件工程構建成功

//make.sh腳本
./gradlew clean assemblePlugin
adb push app/build/outputs/apk/app-beijing-release-unsigned.apk /sdcard/Test.apk
adb shell am force-stop com.didi.virtualapk
adb shell am start -n com.didi.virtualapk/com.didi.virtualapk.MainActivity

make.sh文件包括gradlew編譯命令,將插件工程重新命名然後推送到設備sdcard目錄下,然後重新啓動宿主工程。

三 問題記錄

  1. clone代碼後checkout到dev分支
  2. 插件工程無法通過as編譯。目前VirtualApk只支持2.14.1,所以使用gradle命令也會存在版本衝突問題。因此通過graldew命令可以解決這兩個問題。
  3. 其他問題可以看官網issue討論
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章