全部內容共4214字,預計學習時長11分鐘
圖源:unsplash
本文收錄了筆者在日常事情中發現的超級多寶藏工具和項目,它們能幫助你研究安卓Android應用,可供各位參考。
1. AinD: Docker中的Android (Anbox)
通過在Docker中嵌套Anbox容器,AinD在Docker中啟動安卓Android應用。
與類似的基于VM(虛擬機)的項目不一樣,AinD不需要嵌套虛擬的接受也完全可以在IaaS實例上運行。其目的是:
· 防消息竊取
· (通過云)實現蘋果iOS和Windows平板計算機對安卓Android的兼容
2. Booster
Booster是一個非常有趣的工具,它容易使用、量級輕、厲害且可擴展,是一種專為移動應用設計的質量優化工具包。其首要目標是解決隨應用雜亂性增加而出現的質量問題,如性能、穩固性和安裝包大小。
Booster整合了性能檢測、多線程優化、資源索引內聯、冗余資源減少、資源壓縮、系統漏洞修造復原等模塊。它可將應用軟件程序的穩固性提高15%~25%,而安裝包大小則可減少1MB~10MB。該優化器基于Apache 2.0許可協議編編輯,且帶有出色的研究文檔。
3. Shake
Shake是檢測漏洞的最好工具之一,它檢查玩家操作步驟以重現漏洞并獲得漏洞截圖和視頻。該工具能幫助你更方便地處理測試項目或生產過程中的任何漏洞,值得一用。
正如圖中那樣,你可以搖動設備,此時此刻會彈出一個用來上傳錯誤報告的模板,玩家可以標記漏洞,模糊處理機密資料并描述問題,之后跟著將其返還給研究者團隊。其研究文檔中有簡潔清晰的安裝途徑,其還附有在線演示,用來從內部調查該工具的事情原理。
4. Scabbard
Scabbard將Dagger2依賴圖可視化來幫助人們理解。
Scabbard將入口點、依賴圖、部件關系和作用域可視化,玩家不費吹灰之力就能將其整合在項目中。該工具可以與Gradle、Android Studio或IntelliJ完美集成,通過gutter圖標可直接從源代碼輕松地調查部件或子部件。它的研究文檔十分優秀,內含超級多實例和反饋,任何內容都在Apache 2.0許可下發布。
5. Can I Drop Jetifier?
眾所周知,有時從舊的接受庫遷到AndroidX并非易事,對于大型遺留項目更是如此。Jetifier的使用是差不多移動成功與否的重要(Jetifier將依然基于舊組件的依賴關系轉化為操作AndroidX類),但這同一時間也會增加研究時光。
由于積少成多的庫被移動到AndroidX,總有24小時這一工具將不再為人需求。如果已經出現新的版本,這種插件可以鑒別你正在使用的庫中需要移動到AndroidX或需要被代替的庫。
其研究文檔清晰易懂,這一項目在Apache 2.0許可下發布。介紹指數五顆星!
6. ADB Event Mirror
你可以使用ADB Event Mirror將一臺設備的觸摸/按鍵/按鈕事情24小時鏡像復制到另一臺或很多多臺設備。
該腳本的目的不在于標準化分辨率、密度、方向或布局差異。在具備完整相同配置的模擬器上運行時,它能實現最好效果。該工具允許你同一時間在不一樣類別的模擬器上測試應用軟件程序。
7. Android Emulator Container Scripts
Android EmulatorContainer Scripts是一組小型腳本,用來在容器中為各種系統(如Docker)運行模擬器以供外部使用。該腳本同一時間兼容Python 2和3。這一repo命令深受歡迎,且接受在遠程電腦上運行多個模擬器。項目在Apache 2.0許可下發售,有著出色的研究文檔。
8. Autoplay
Autoplay是一個將安卓Android工件發布到Google Play上的Gradle插件。
你可以把它當成Gradle PlayPublisher或Fastlane的簡單替代品,你能以apk或軟件 Bundle的形式來發布應用軟件程序。
· 針對CI/CD(持續集成/持續部署)使用進行了優化
· 研究者友好型
· 可靠穩固,永不過時
該項目有1.3.0版本的出色研究文檔,在Apache 2.0許可下發布。
9. Gradle Static Analysis Plugin
Gradle Staticanalysis Plugin是任何實用的靜態代碼解析工具的一大替代品,如:
· Checkstyle
· PMD
· FindBugs [棄用] [在Gradle 6.0中移除]
· SpotBugs
· Detekt
· AndroidLint
· KtLint
你可以輕松地將這些工具包含到代碼庫中,不用吻自設置這些工具。該插件在Apache 2.0許可下發布,含優秀研究文檔,甚至還有一個樣例項目。
10. Android Util Code
Android Util Code是一個厲害且易上手的安卓Android庫。它封裝了安卓Android研究中常用的功能,有著完全的演示和單元測試。通過使用它封裝的API(應用軟件程序接口),可以大大提升研究效率。該項目主要包括兩個模塊,分別為utilcode(主要應用來研究)和subutil(極少用來研究但簡化了主模塊)。
其代碼版本為1.29.0,在Apache 2.0許可下發布。
11. Hijckr
Hijckr參加安卓Android的布局初始化過程,并將命名元素重定向到很多類。這種工具十分有趣。比如,對于包含TextView的布局文件,安卓Android一般會加載Android.widget.TextView,但我們也完全可以反過來改變思路,通過劫持xml標簽來加載com.myapp.TextView。
該工具的README文檔十分全面,可幫助玩家迅速上手使用這種完整由Java編編輯的工具。
12. Roomigrant
Roomigrant是一個幫助庫,能夠使用編譯年代碼生成來全自動創建Android Room庫移動。它使用由Room庫生成的方案文件并基于它們之間的差異生成移動,這說明著Room結構的生成一定在build.gradle文件中啟用,README文檔對其進行了仔細描述。
該項目在MIT許可下發布,版本為0.1.7。
13. RoomExplorer
將資料庫遷至Room后,我們可以在調查器中檢查這一資料庫。RoomExplorer允許以表格格式調查任何的表格資料,還接受在表格中插入、更新或刪除行,以及刪除并釋放表格空間等等。
該工有著出色的研究文檔,在Apache 2.0許可下發布。
14. android-framer
Android-framer工具接受在Google Play屏幕截圖上添加邊框和文字主題,其靈感來自fastlane frameit。
該工具用Python和ImageMagick構建,你可以配置所用的邊框(背景),例如Facebook Design,同一時間也完全可以修改字體字號和邊框大小等等。它在Apache 2.0許可下發布。
15. Dependency Tree Diff
Dependncy TreeDiff是“一種為輸出Gradle的依賴任務而研究的AI智能差異工具,總是展現通往根依賴的路徑。”
你可以使用brew或只用jar文件來安裝這一工具,它在Apache 2.0許可下發布。
16. Gradle Doctor
Gradle Doctor是一個用來掃描Gradle構建的插件。它包含針對構建速度問題的可配置警告,測定在Dagger注釋處理器上花費的時光,保證JAVA_HOME獲得設置并與IDE(集成研究環境)的JAVA_HOME相匹配。可以方便地使用該工具來禁用測試緩存,并在尋找空src目錄時終止構建(因為空src目錄會導致緩存丟棄)等等。
它附有詳盡的研究文檔,并在Apache 2.0許可下發布。
17. Globally Dynamic
Globally Dynamic是“一套旨在普及Dynamic Delivery(動態交付)的工具,使其不受內置的應用APP商店或發售平臺的制約,并提供獨立的統一安卓Android軟件API和流暢的研究人員體驗。”
目前接受:
· Google Play Store (播放功能交付)
· 華為 軟件 Gallery(動態力量)
· 與GloballyDynamic Server合作的一般情況很多平臺(如:亞馬遜應用APP商店、三星Galaxy商店和Firebase 軟件Distribution,也接受在本地研究期間進行操作。)
筆者反饋瀏覽你README文檔以知道再多細節。它基于Apache 2.0許可發布。
18. Dagger Browser
Dagger Browser是另一種工具(漸進式網頁應用),能夠輕松導航項目Dagger圖。
圖形資料由Dagger SPI插件填充,此瀏覽器由CRA(create-react-app,一種用以創建網頁應用軟件程序的工具)和Typescript創建。還有一個示例應用軟件程序展示該工具的事情原理。任何內容都在BSD-3-Clause許可下發布。
19. Wormhole
Wormhole是“一個前后均兼容的字節碼重編輯器,將未來可能出現的API添加到android.jar。它可以對android.jar進行字節碼重編輯,使其對D8和R8的API都可用。”
Wormhole保證向后兼容最新的API。例如:“在Android R中有Java 9的新途徑,如List.of。由于D8和R8的存在,這些途徑并不是API 30專屬的,而可以兼容至API 1。D8和R8中有一系列針對android.jar中尚未存在的API的字節碼重編輯途徑。該項目讓玩家可以立刻使用這些API,省去漫長的等待。”
20. MNML
MNML讀作“minimal”,是適合用于安卓Android的不要錢簡單的錄屏應用。
有超級多應用軟件程序和工具可以錄屏,如今幾乎任何新設備都有內置的屏幕錄制功能,但如果你想要知道怎么樣研究實現這種錄屏應用,這種項目就是一個較好的學習資源。該項目在Apache 2.0許可下發售。
渴望筆者共享的工具能夠讓你獲得靈感與啟發。