0.問題拋出
在Android裏我們說的插件到底指的是什麼,表達是否準確?
1.Android插件的種類
a.Android Studio插件
針對Android Studio這個IED的插件,一般可以幫你寫代碼或格式化等,與你編譯或打包時的代碼沒關係
個人覺得好用的11個插件推薦:
- 1.GsonFormat:快速將json字符串轉換成一個Java Bean,免去我們根據json字符串手寫對應java Bean的過程。
- 2.Android ButterKnife Zelezny:配合ButterKnife實現註解,從此不用寫findViewById,想着就爽啊。在Activity,Fragment,Adapter中選中佈局xml的資源id自動生成butterknife註解
- 3.Android Code Generator:根據佈局文件快速生成對應的Activity,Fragment,Adapter,Menu。
- 4.Android Parcelable code generator:JavaBean序列化,快速實現Parcelable接口。
- 5.Android Methods Count:顯示依賴庫中得方法數
- 6.Lifecycle Sorter:可以根據Activity或者fragment的生命週期對其生命週期方法位置進行先後排序,快捷鍵Ctrl + alt + K
- 7.CodeGlance:在右邊可以預覽代碼,實現快速定位
- 8.findBugs-IDEA:查找bug的插件,Android Studio也提供了代碼審查的功能(Analyze-Inspect Code…)
- 9.ADB WIFI:使用wifi無線調試你的app,無需root權限(也可參考以下文章:http://www.jianshu.com/p/21d1b65d92a4)
- 10.AndroidPixelDimenGenerator:Android Studio自動生成dimen.xml文件插件
- 11.JsonOnlineViewer:在Android Studio中請求、調試接口
b.Gradle插件
針對單個項目的插件,一般不會幫你寫代碼,但是編譯時會幫你生成代碼,常見的提現方式:(在項目的build.gradle下添加插件作爲 classpath)
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
...
}
...
}
然後在app的build.gradle下
apply plugin: 'com.android.application'
c.APP的插件
針對APP的,將一個apk根據業務功能拆分成不同的子apk(也就是不同的插件),每個子apk可以獨立編譯打包,最終發佈上線的是集成後的apk。在apk使用時,每個插件是動態加載的,插件也可以進行熱修復和熱更新,與組件化的區別是:組件化的單位是module,插件化的單位是apk。模塊化、組件化、插件化細分可以看文章下面的一次搞懂—模塊化、組件化與插件化
個人比較推薦360的Replugin,RePlugin是一套完整的、穩定的、適合全面使用的,佔坑類插件化方案,也是業內首個提出”全面插件化“(全面特性、全面兼容、全面使用)的方案
另外比較熱門的還有阿里的atlas,滴滴的VirtualAPK
參考資料: