私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

全文共4214字,预计学习时长11分钟

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

图源:unsplash

本文收录了笔者在日常工作中发现的许多宝藏工具和项目,它们能帮助你开发安卓应用,可供大家参考。

1. AinD: Docker中的Android (Anbox)

通过在Docker中嵌套Anbox容器,AinD在Docker中启动安卓应用。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

与类似的基于VM(虚拟机)的项目不同,AinD不需要嵌套虚拟的支持也可以在IaaS实例上运行。其目的是:

· 防信息窃取

· (通过云)实现iOS和Windows平板电脑对安卓的兼容

2. Booster

Booster是一个非常有趣的工具,它容易使用、量级轻、强大且可扩展,是一种专为移动应用设计的质量优化工具包。其首要目标是解决随应用复杂性增加而出现的质量问题,如性能、稳定性和安装包大小。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

Booster整合了性能检测、多线程优化、资源索引内联、冗余资源减少、资源压缩、系统漏洞修复等模块。它可将应用程序的稳定性提升15%~25%,而安装包大小则可减少1MB~10MB。该优化器基于Apache 2.0许可协议编写,且带有出色的开发文档。

3. Shake

Shake是检测漏洞的最佳工具之一,它检查用户操作步骤以重现漏洞并收集漏洞截图和视频。该工具能帮助你更便捷地处理测试项目或生产过程中的所有漏洞,值得一用。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

正如图中那样,你可以摇动设备,此时会弹出一个用于上传错误报告的模板,用户可以标记漏洞,模糊处理机密数据并描述问题,然后将其返还给开发者团队。其开发文档中有简洁清晰的安装方法,其还附有在线演示,用来从内部查看该工具的工作原理。

4. Scabbard

Scabbard将Dagger2依赖图可视化来帮助人们理解。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

Scabbard将入口点、依赖图、部件关系和作用域可视化,用户不费吹灰之力就能将其整合在项目中。该工具可以与Gradle、Android Studio或IntelliJ完美集成,通过gutter图标可直接从源代码轻松地查看部件或子部件。它的开发文档十分优质,内含许多实例和建议,所有内容都在Apache 2.0许可下发布。

5. Can I Drop Jetifier?

众所周知,有时从旧的支持库迁到AndroidX并非易事,对于大型遗留项目更是如此。Jetifier的使用是左右迁移成功与否的关键(Jetifier将仍然基于旧组件的依赖关系转化为操作AndroidX类),但这同时也会增加开发时间。

由于越来越多的库被迁移到AndroidX,总有一天这一工具将不再为人所需。如果已经出现新版本,这个插件可以鉴别你正在使用的库中需要迁移到AndroidX或需要被替换的库。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

其开发文档清晰易懂,这一项目在Apache 2.0许可下发布。推荐指数五颗星!

6. ADB Event Mirror

你可以使用ADB Event Mirror将一台设备的触摸/按键/按钮事件实时镜像复制到另一台或其他多台设备。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

该脚本的目的不在于标准化分辨率、密度、方向或布局差异。在具备完全相同配置的模拟器上运行时,它能实现最佳效果。该工具允许你同时在不同类型的模拟器上测试应用程序。

7. Android Emulator Container Scripts

Android EmulatorContainer Scripts是一组小型脚本,用于在容器中为各种系统(如Docker)运行模拟器以供外部使用。该脚本同时兼容Python 2和3。这一repo命令深受欢迎,且支持在远程计算机上运行多个模拟器。项目在Apache 2.0许可下发行,具有出色的开发文档。

8. Autoplay

Autoplay是一个将安卓工件发布到Google Play上的Gradle插件。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

你可以把它当成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是一个强大且易上手的安卓库。它封装了安卓开发中常用的功能,具有完整的演示和单元测试。通过使用它封装的API(应用程序接口),可以大大提高开发效率。该项目主要包括两个模块,分别为utilcode(主要应用于开发)和subutil(极少用于开发但简化了主模块)。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

其代码版本为1.29.0,在Apache 2.0许可下发布。

11. Hijckr

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

Hijckr参与安卓的布局初始化过程,并将命名元素重定向到其他类。这个工具十分有趣。例如,对于包含TextView的布局文件,安卓通常会加载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允许以表格格式查看所有的表格数据,还支持在表格中插入、更新或删除行,以及删除并释放表格空间等等。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

该工具有出色的开发文档,在Apache 2.0许可下发布。

14. android-framer

Android-framer工具支持在Google Play屏幕截图上添加边框和文字主题,其灵感来自fastlane frameit。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

该工具用Python和ImageMagick构建,你可以配置所用的边框(背景),比如Facebook Design,同时也可以调整字体字号和边框大小等等。它在Apache 2.0许可下发布。

15. Dependency Tree Diff

Dependncy TreeDiff是“一种为输出Gradle的依赖任务而开发的智能差异工具,总是显示通往根依赖的路径。”

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

你可以使用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(动态交付)的工具,使其不受内置的应用商店或发行平台的制约,并提供独立的统一安卓客户端API和流畅的开发人员体验。”

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

目前支持:

· Google Play Store (播放功能交付)

· 华为 App Gallery(动态能力)

· 与GloballyDynamic Server合作的大多数其他平台(如:亚马逊应用商店、三星Galaxy商店和Firebase AppDistribution,也支持在本地开发期间进行操作。)

笔者建议阅读你README文档以了解更多细节。它基于Apache 2.0许可发布。

18. Dagger Browser

Dagger Browser是另一种工具(渐进式网页应用),能够轻松导航项目Dagger图。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

图形数据由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”,是适用于安卓的免费简单的录屏软件。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

有许多应用程序和工具可以录屏,如今几乎所有新设备都有内置的屏幕录制功能,但如果你想要了解如何开发实现这类录屏应用,这个项目就是一个很好的学习资源。该项目在Apache 2.0许可下发行。

希望笔者分享的工具能够让你收获灵感与启发。

私藏系列:你或许从未听过的20个安卓开发工具(安卓主流开发工具)

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 下午4:55
下一篇 2024年5月2日 下午5:07

相关推荐

  • 深圳信息系统项目管理

    深圳信息系统项目管理 深圳作为中国改革开放的先行者之一,在信息技术领域也有着悠久的历史和深厚的积累。随着信息技术的不断发展和应用,信息系统项目管理也成为了企业数字化转型中不可或缺的…

    科研百科 2025年1月18日
    0
  • 【诚招全国城市服务商】几十款免费软件,企业不花钱就可以使用的

    【诚招全国城市服务商】几十款免费软件,企业不花钱就可以使用的软件平台(薪派派云平台) 招服务商,招代理商,招城市合伙人,城市合作伙伴,真正全免费使用的软件,可以批量赠送给企业的软件…

    科研百科 2024年5月6日
    47
  • 国自然已审核是什么状态

    国自然已审核是什么状态 随着国家科学技术的不断发展,科研项目的申报也越来越普遍。其中,国家自然基金项目是一个非常重要的项目类型,其资助金额较高,申请难度也较大。那么,当我们查询国自…

    科研百科 2024年11月8日
    2
  • 项目管理的层次

    项目管理的层次 项目管理在组织中扮演着至关重要的角色,它涉及到从项目的开始到结束的所有阶段。不同的项目类型和规模需要不同类型的项目管理方法,但是项目管理人员通常需要掌握多个层次的概…

    科研百科 2025年1月14日
    1
  • 襄汾农村商业银行:坚持党建引领 凝聚发展合力(农商银行坚持党建引领促发展)

    襄汾农商银行第六党支部始终坚持秉承“以党建促业务,用业务促发展”的宗旨,引导支部全体员工勤修内功、深耕厚植、多点齐抓,抓思想发挥引领力,抓作风提高免疫力,抓业务提升影响力,以全面提…

    科研百科 2024年7月6日
    35
  • 50万科研项目老师拿多少钱

    科研项目老师拿多少钱 科研项目老师是高等教育中不可或缺的一部分,他们承担着推动科技进步的重要责任。然而,他们的工资和福利却常常受到质疑。那么,科研项目老师拿多少钱是一个问题。 通常…

    科研百科 2024年8月9日
    22
  • 区直单位 发展党员工作中存在的问题

    区直单位发展党员工作中存在的问题 区直单位发展党员工作是中国共产党的一项重要任务,也是发展党员工作的重要方面。然而,在区直单位发展党员工作中,仍然存在一些问题,这些问题对党员的发展…

    科研百科 2024年10月8日
    10
  • 行政合同管理制度

    行政合同管理制度 行政合同管理制度是行政组织内部制定的一种合同管理制度,旨在规范行政活动中的合同管理,保证行政活动的合法性和有效性。本文将探讨行政合同管理制度的基本概念、主要内容和…

    科研百科 2025年1月11日
    1
  • 强化科研项目建设

    强化科研项目建设 科研项目是推动科技进步和社会发展的重要力量。然而,随着科技的不断发展,科研项目的建设也需要不断地加强和改进。 首先,我们需要加强科研项目的规划和管理。科研项目的规…

    科研百科 2025年2月12日
    0
  • 如何成为一名游戏开发员?(如何成为一名游戏开发员英语作文)

    如果你喜欢电子游戏和编程,你可以考虑从事游戏开发工作。游戏开发者需要哪些技能,理想的职业道路是什么?让我们拭目以待! 与许多技术专业角色一样,游戏开发者不一定需要接受正规教育就能获…

    科研百科 2023年5月18日
    213