項目地址: "Box" 文末掃碼獲取最新安裝包 。 前言 有將近一個月沒有更新文章了,一方面在啃 AOSP ,消化起來確實比較慢。在閱讀的過程中,有時候上來就會陷入源碼細節,其實這是沒有必要的。剛開始更多的應該從整體脈絡上去理解,摸清整個流程之後再去有針對性的看某些細節,才會事半功倍。下一篇應該會帶 ...
項目地址: Box
文末掃碼獲取最新安裝包 。
前言
有將近一個月沒有更新文章了,一方面在啃 AOSP ,消化起來確實比較慢。在閱讀的過程中,有時候上來就會陷入源碼細節,其實這是沒有必要的。剛開始更多的應該從整體脈絡上去理解,摸清整個流程之後再去有針對性的看某些細節,才會事半功倍。下一篇應該會帶來 Activity 啟動流程分析 。
除了啃 AOSP 之外,剩下的時間都花在了開源項目的維護和更新上。一個是 Wanandroid 應用,主要技術棧是 Kotlin 、 MMVM 、 協程
,開源了一段時間,一度覺得自己的 MVVM 寫的還不錯。在閱讀相關架構文章以及 Google 重構了 plaid 之後,發現了自己的框架在 分離關註點 方面存在的一些問題。主要針對架構方面做了一些調整,目前來看還是比較符合 MVVM 的思想的。另外,也新增了網頁版的新功能 “廣場”。
說一說 Wanandroid 後續的更新計劃,第一點,Jetpack 的深anzhuangb入使用。包括 Navigation 單 Activity 實現,Room ,Page 等類庫的使用。第二點,完成一個 Jetpack Compse 版本,雖然 Compose 還是預覽版,但我堅定看好 Compose,實在忍不住不去嘗試一下,其實也已經在開發中了,完成了一些簡單頁面,有在學習 Compose 的朋友可以交流交流,項目地址在這裡 -》 Wanandroid-Compose 。
Box V0.2.0
另一個開源項目就是今天要說的 Box 了,說來慚愧,已經好幾個月沒有更新了。這次帶來了一個 "黑科技",對,沒錯,就是堪比 小米手機八項黑科技 的 手機端反編譯 功能。熟悉反編譯的同學應該對這個功能很熟悉,但都是在 PC 上操作的,Apktool
,Jadx
等開源工具都提供了 PC 端的命令行操作或者圖形界面。其實第一次看到手機端反編譯功能是在 Trinea 的 Android 開發助手 上,當時感覺挺驚艷的,也比較好奇是如何實現的。anzhuangb
其實很簡單,Apktool 和 Jadx 都是開源的,移植到 Android 上就可以了。大致瀏覽了一下 Jadx 源碼,就開始了移植工作。鑒於 Jadx 源碼的優秀設計,整個移植過程也沒有費太大功夫。結合 Android 開發助手的 UI 設計,不難看出 Trinea 也是移植了 Jadx 源碼。
box_app_managerbox_app_manager
下麵的 gif 簡單展示了反編譯功能的使用:
nager
除此之外,針對之前的 當前 Activity 功能做了一些完善,主要替換了懸浮窗的依賴庫,現在使用的是 EasyFloat。這是一個 Kotlin 版本,且更加穩定。下麵也用一個 gif 演示一下該功能:
另外,在更新 AndroidUtilCodeKTX 的文件工具類部分時,為了能總結的儘量完整,就在 Box 裡面增加了 文件管理 功能,界面相對簡陋,但功能還算完整,後續會繼續完善,大家可以提提 issue 。
針對 應用管理 功能,新增了對本地安裝包文件的支持。無需安裝也能直接查看各種應用信息。關於其中一個查看 AndroidManifest.xml
文件的功能,建議閱讀 Android逆向筆記 —— AndroidManifest.xml 文件格式解析 。
最後
如果你有新奇的想法和功能,歡迎前來交流。
添加我的微信,加入技術交流群。
公眾號後臺回覆 “Box”, 獲取最新安裝包。