概要共4214字,预计今年自学时数11两分钟
图源:unsplash责任编辑收录于了本栏在日常生活工作中发现的许多宝物辅助工具和工程项目,它能协助你合作开发Android应用领域,可供我们参照。
1. AinD: Docker中的Android (Anbox)
透过在Docker中输入输出Anbox罐子,AinD在Docker中开启Android应用领域。
与类似于的如前所述VM(软件包)的工程项目不同,AinD不需要输入输出交互式的全力支持也可以在IaaS示例上运转。其目地是:
· 防重要信息盗取
· (透过云)同时实现iOS和Windows智能手机笔记本电脑对Android的相容
2. Booster
Booster是一个十分有意思的辅助工具,它难使用、数量级轻、强悍且可扩充,是一种专为终端应用领域结构设计的产品质量强化辅助软件包。其重中之重最终目标是化解随应用领域复杂程度增加而出现的产品质量问题,如操控性、灵活性和发行版大小不一。
Booster资源整合了操控性检验、多处置器强化、天然资源检索H55N、输入输出天然资源增加、天然资源填充、系统安全漏洞复原等组件。它可将应用领域程序的稳定性提高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,总有一天这一辅助工具将不再为人所需。如果已经出现新版本,这个插件可以鉴别你正在使用的库中需要迁移到AndroidX或需要被替换的库。
其合作开发文件格式清晰易懂,这一工程项目在Apache 2.0许可证下发布。推荐指数五颗星!
6. ADB Event Mirror
你可以使用ADB Event Mirror将一台设备的触摸/按键/按钮事件实时镜像复制到另一台或其他多台设备。
该脚本的目地不在于标准化分辨率、密度、方向或布局差异。在具备完全相同配置的模拟器上运转时,它能同时实现最差效果。该辅助工具允许你同时在不同类型的模拟器上测试应用领域程序。
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或App 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的依赖任务而合作开发的智能差异辅助工具,总是显示通往根依赖的路径。”
你可以使用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(动态交付)的辅助工具,使其不受内置的应用领域商店或发行平台的制约,并提供独立的统一Android客户端API和流畅的合作开发人员体验。”
目前全力支持:
· Google Play Store (播放功能交付)
· 华为 App Gallery(动态能力)
· 与GloballyDynamic Server合作的大多数其他平台(如:亚马逊应用领域商店、三星Galaxy商店和Firebase AppDistribution,也全力支持在本地合作开发期间进行操作。)
本栏建议阅读你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许可证下发行。
希望本栏分享的辅助工具能够让你收获灵感与启发。
我们一起分享AI自学与发展的干货
编译组:樊悦、孙津相关链接:https://medium.com/better-programming/20-android-dev-tools-youve-probably-never-heard-of-c6cc08b4e543
如转载,请私信小芯,遵守转载规范