站点介绍
全部内容共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许可下发售。
渴望笔者共享的工具能够让你获得灵感与启发。