从未像个聪明人一样做过决定

During writing the articles about 30 Best Android Libraries and Projects of 2019 and 25 Best Android Libraries and Projects of 2020 — Summer Edition, I discovered lots of awesome tools and projects which may help you with Android app development. They are below in an unordered list. Enjoy.

在撰写有关2019年 30个最佳Android库和项目以及2020年夏季版25个最佳Android库和项目的文章时 ,我发现了许多很棒的工具和项目,可能会帮助您进行Android应用程序开发。 它们在下面的无序列表中。 请享用。

1. AinD:Docker中的Android(Anbox) (1. AinD: Android (Anbox) in Docker)

AinD launches Android apps in Docker by nesting Anbox containers inside Docker.

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

Unlike VM-based similar projects, AinD can be executed on IaaS instances without support for nested virtualisation. Docker Hub: aind/aind

与基于VM的类似项目不同,AinD可以在IaaS实例上执行,而无需支持嵌套虚拟化。 Docker Hub: aind/aind

Purposes:

用途:

  • Anti-theft (see FAQ)

    防盗(请参阅常见问题解答 )

  • Android compatibility (via the cloud) for iOS and Windows tablets适用于iOS和Windows平板电脑的Android兼容性(通过云)

2.助推器 (2. Booster)

Booster is a really interesting tool. It’s an easy-to-use, lightweight, powerful, and extensible quality optimisation toolkit designed especially for mobile applications. The primary goal is to solve quality problems with the increase of app complexity, such as performance, stability, and package size.

Booster是一个非常有趣的工具。 这是一个易于使用,轻巧,功能强大且可扩展的质量优化工具包,专门为移动应用程序而设计。 主要目标是通过增加应用程序复杂度(例如性能,稳定性和程序包大小)来解决质量问题。

Booster provides a collection of modules for performance detection, multithreading optimisation, resource index inline, redundant resources reduction, resource compression, system bug fixing, etc. Using Booster, the stability of an application can be increased by 15% ~ 25%, and the package size can be reduced by 1MB ~ 10MB.

Booster提供了一组模块,用于性能检测,多线程优化,内联资源索引,减少冗余资源,资源压缩,系统错误修复等。使用Booster,可以将应用程序的稳定性提高15%〜25%,并且封装大小可以减少1MB〜10MB。

This optimiser is written under an Apache 2.0 license and has really good documentation.

该优化程序是在Apache 2.0许可下编写的,并且具有非常好的文档。

3.摇动 (3. Shake)

Shake is one of the best tools for bug detecting, exploring a user’s steps to reproduce a bug, and gathering screenshots or video of bugs. It will make your life easier with all your bugs in a beta program or in production. It’s really worth checking out.

Shake是检测错误,探索用户重现错误的步骤以及收集错误的屏幕截图或视频的最佳工具之一。 Beta版程序或生产中的所有错误将使您的生活更加轻松。 真的值得一试。

As you can see in the GIF above, you can shake the device and be prompted with a template to send a bug report. Users can mark the bug, even blur confidential data, describe the issue, and send it over to you.

正如您在上面的GIF中所看到的,您可以摇动设备并通过模板提示发送错误报告。 用户可以标记错误,甚至可以模糊机密数据,描述问题并将其发送给您。

Installation is really easy and well described in good documentation.There is also a live demo to check out how the tool works from the inside.

安装真的很容易,并且在良好的文档中对此进行了很好的描述。还有一个实时演示 ,可以从内部检查该工具的工作方式。

4.刀鞘 (4. Scabbard)

Scabbard is a tool to visualise and understand your Dagger 2 dependency graph.

Scabbard是可视化和理解Dagger 2依赖图的工具。

Scabbard visualises entry points, dependency graphs, component relationships, and scopes. You need to put in minimal effort to include it in your project. It is well integrated with Gradle as well as with Android Studio or IntelliJ (viewing easily a @Component or a @Subcomponent graph directly from source code via gutter icons).

Scabbard可视化入口点,依赖图,组件关系和范围。 您需要付出最小的努力才能将其包含在项目中。 它与Gradle以及Android Studio或IntelliJ很好地集成在一起(可以通过装订线图标直接从源代码轻松查看@Component@Subcomponent图)。

The documentation is great and full of examples and tips. Everything is released under an Apache 2.0 license.

该文档非常有用,并包含示例和提示。 所有内容均根据Apache 2.0许可发布。

5.我可以丢弃Jetifier吗? (5. Can I Drop Jetifier?)

As we know, sometimes migrating from an old support library to AndroidX is not an easy task, especially for big legacy projects. The success of the migration relies heavily on Jetifier usage (it converts dependencies that still depend on old artifacts to operate on AndroidX classes). However, it also increases build time.

众所周知,有时候从旧的支持库迁移到AndroidX并非易事,特别是对于大型旧项目而言。 迁移的成功很大程度上取决于Jetifier的使用(它将依赖于旧工件的依赖项转换为可在AndroidX类上运行的依赖项)。 但是,这也会增加构建时间。

“Since more and more libraries are migrated to AndroidX, at some point there will be no need to have this tool enabled. This plugin can be used to identify which of the libraries you are using need to be migrated to AndroidX or bumped if the new version is already there.” — Can I Drop Jetifier?

“由于越来越多的库已迁移到AndroidX,因此有时无需启用此工具。 该插件可用于识别您正在使用的哪些库需要迁移到AndroidX或如果已有新版本,则需要升级。 -我可以放下Jetifier吗?

The documentation is self-explanatory, and the project is released under an Apache 2.0 license. Huge recommendation!

该文档不言自明,并且该项目是根据Apache 2.0许可发布的。 巨大的建议!

6.亚行事件镜像 (6. ADB Event Mirror)

ADB Event Mirror lets you mirror the touch/key/button events of one device to one or more other devices in real time.

ADB事件镜像使您可以将一台设备的触摸/按键/按钮事件实时镜像到一台或多台其他设备。

“T

“ T

This tool will allow you to test your app on different types of emulators at the same time.

该工具可让您同时在不同类型的仿真器上测试您的应用。

7. Android模拟器容器脚本 (7. Android Emulator Container Scripts)

Android Emulator Container Scripts is a set of minimal scripts to run the emulator in a container for various systems, such as Docker, for external consumption. The scripts are compatible with both Python version 2 and 3. The repo is pretty popular, and it will be helpful if you want to run many emulators on remote machines.

Android Emulator Container Scripts是一组最小的脚本,用于在各种系统(例如Docker)的容器中运行模拟器,以供外部使用。 该脚本与Python版本2和3兼容。该回购协议非常流行,如果要在远程计算机上运行许多仿真器,它将很有帮助。

The project is released under an Apache 2.0 license, and it’s well documented.

该项目是根据Apache 2.0许可发布的,并且有据可查。

8.自动播放 (8. Autoplay)

Autoplay is a Gradle plugin for publishing Android artifacts to Google Play.

自动播放是Gradle插件,用于将Android工件发布到Google Play。

You can treat it as a really simple alternative to Gradle Play Publisher or Fastlane. You can publish your application as apk or App Bundle.

您可以将其视为Gradle Play Publisher或Fastlane的非常简单的替代品。 您可以将应用程序发布为apk或App Bundle。

Autoplay is:

自动播放是:

  • optimised for CI/CD usage针对CI / CD使用进行了优化
  • developer friendly开发人员友好
  • reliable and futureproof可靠且永不过时

The project has good documentation, version 1.3.0, and is released under an Apache 2.0 license.

该项目具有良好的文档,版本1.3.0 ,并且是在Apache 2.0许可下发行的。

9. Gradle静态分析插件 (9. Gradle Static Analysis Plugin)

Gradle Static analysis Plugin is one big replacement for all meaningful static code analysis tools, like:

Gradle静态分析插件是所有有意义的静态代码分析工具的大替代,例如:

  • Checkstyle

    Checkstyle

  • PMD

    PMD

  • FindBugs [DEPRECATED] [Removed in Gradle 6.0]

    FindBugs [不建议使用] [在Gradle 6.0中删除]

  • SpotBugs

    SpotBugs

  • Detekt

    德泰

  • Android Lint

    Android Lint

  • KtLint

    KtLint

Instead of setting this up on your own, you have a really easy way to include these tools in your codebase effortlessly. The plugin is released under an Apache 2.0 license, has great documentation, and even has a sample project.

您可以轻松地将这些工具包含在您的代码库中,而不是自己进行设置。 该插件是根据Apache 2.0许可发布的,具有出色的文档,甚至还包含一个示例项目。

10. AndroidUtilCode (10. AndroidUtilCode)

AndroidUtilCode is a powerful and easy-to-use library for Android. It encapsulates the functions commonly used in Android development which have complete demo and unit tests. By using its encapsulated APIs, you can greatly improve development efficiency.

AndroidUtilCode是一个功能强大且易于使用的Android库。 它封装了Android开发中常用的功能,这些功能具有完整的演示和单元测试。 通过使用其封装的API,可以大大提高开发效率。

The project mainly consists of two modules, which are utilcode (commonly used in development) and subutil (rarely used in development but simplifies the main module).

该项目主要由两个模块组成,分别是utilcode (在开发中常用)和subutil (在开发中很少使用,但简化了主模块)。

The code is in version 1.29.0 and is released under an Apache 2.0 license.

该代码的版本为1.29.0并根据Apache 2.0许可发布。

11.希克尔 (11. Hijckr)

“Hijckr interfers with Android’s layout inflation and redirects named elements to other classes.”

“ Hijckr干扰了Android的布局膨胀,并将命名元素重定向到其他类。”

This is quite an interesting tool. For example, for a layout file which contains TextView, Android would normally load android.widget.TextView, but instead, we can hijack xml tags to load com.myapp.TextView.

这是一个非常有趣的工具。 例如,对于包含TextView的布局文件,Android通常会加载 android.widget.TextView 但是相反,我们可以劫持xml标签以加载com.myapp.TextView

The README is comprehensive and allows us to start quickly with the tool, which is written 100% in Java.

README是全面的,可让我们快速使用该工具开始工作,该工具100%用Java编写。

12.房客 (12. Roomigrant)

Roomigrant is a helper library to automatically generate Android Room library migrations using compile-time code generation. It uses scheme files generated by the Room library and generates migrations base on the difference between them. This means that Room schema generation must be enabled in build.gradle file, which is described well in README.

Roomigrant是一个帮助程序库,可使用编译时代码生成自动生成Android Room库迁移。 它使用由Room库生成的方案文件,并根据它们之间的差异生成迁移。 这意味着必须在build.gradle文件中启用Room模式生成,这在README中进行了很好的描述。

The project is released under an MIT license with version 0.1.7.

该项目是根据MIT许可证发布的,版本为0.1.7

13. RoomExplorer (13. RoomExplorer)

When we have migrated our database to Room, we can check this database in a viewer. RoomExplorer allows you to view all your table data in tabular format, insert rows to tables, update, delete rows, drop and delete tables, etc.

将数据库迁移到Room后,可以在查看器中检查该数据库。 RoomExplorer允许您以表格格式查看所有表数据,向表中插入行,更新,删除行,删除和删除表等。

The tool has good documentation and is released under an Apache 2.0 license.

该工具具有良好的文档说明,并根据Apache 2.0许可发布。

14. android-framer (14. android-framer)

The android-framer tool allows you to add frames and titles to your Google Play screenshots. It was inspired by fastlane frameit.

android-framer工具可让您向Google Play屏幕截图添加框架和标题。 它的灵感来自fastlane frameit 。

The tool is built with Python and ImageMagick. You can configure frames (backgrounds) using, for instance, Facebook Design. Also, you can change the font and its size, resize the frame, etc.

该工具是使用Python和ImageMagick构建的。 您可以使用例如Facebook Design配置框架(背景)。 另外,您可以更改字体及其大小,调整框架大小等。

It’s released under an Apache 2.0 license.

它是根据Apache 2.0许可发布的。

15.依赖树差异 (15. Dependency Tree Diff)

Dependncy Tree Diff is “an intelligent diff tool for the output of Gradle’s dependencies task which always shows the path to the root dependency.”

依赖关系树差异是“用于Gradle dependencies任务输出的智能差异工具,始终显示根依赖关系的路径。”

You can install this tool with brew or just by using jar file.

您可以通过brew或仅使用jar文件来安装此工具。

It’s released under an Apache 2.0 license.

它是根据Apache 2.0许可发布的。

16.Gradle医生 (16. Gradle Doctor)

Gradle Doctor is a Gradle build scan plugin which contains configurable warnings for build speed problems, measures time spent in Dagger annotation processors, ensures JAVA_HOME is set and matches IDE's JAVA_HOME, easily disables test caching, fails build when empty src directories are found (because empty src directories cause cache misses), and much more.

Gradle Doctor是一个Gradle构建扫描插件,其中包含针对构建速度问题的可配置警告,测量在Dagger注释处理器中花费的时间,确保JAVA_HOME设置并与IDE的JAVA_HOME匹配,轻松禁用测试缓存,发现空src目录时构建失败(因为为空) src目录会导致缓存未命中 ),等等。

The tool has great documentation and is released under an Apache 2.0 license.

该工具具有丰富的文档,并根据Apache 2.0许可发布。

17. GlobalDynamic (17. GloballyDynamic)

GloballyDynamic is a “set of tools geared towards making Dynamic Delivery universally available, regardless of underlying App Store / distribution platform, while also providing a single unified Android client API and a streamlined developer experience.”

GloballyDynamic是“旨在使Dynamic Delivery普遍可用的一组工具,而与基础App Store /发行平台无关,同时还提供了一个统一的Android客户端API和简化的开发人员体验。”

Currently it supports:

目前它支持:

  • Google Play Store (Play Feature Delivery)

    Google Play商店( Play功能交付 )

  • Huawei App Gallery (Dynamic Ability)

    华为App Gallery( 动态能力 )

  • Most other platforms in combination with GloballyDynamic Server (e.g., Amazon App Store, Samsung Galaxy Store, Firebase App Distribution, or during local development)

    大多数其他平台与GloballyDynamic Server结合使用(例如,Amazon App Store,Samsung Galaxy Store,Firebase App Distribution或在本地开发期间)

I recommend going to README and getting to know the details behind this tool.

我建议您先阅读README并了解此工具背后的详细信息。

It’s released under an Apache 2.0 license.

它是根据Apache 2.0许可发布的。

18.匕首浏览器 (18. Dagger Browser)

Dagger Browser is another tool (a progressive web app) for easily navigating a project’s Dagger graph.

Dagger Browser是另一个工具(一个渐进式Web应用程序),可轻松浏览项目的Dagger图形。

“The graph data is populated from a Dagger SPI plugin, and the browser is built using CRA (create-react-app) with Typescript.” — Dagger Browser

“图形数据是从Dagger SPI插件填充的,并且浏览器是使用带有Typescript的CRA(创建-React-应用)构建的。” —匕首浏览器

There is also a sample app which shows how this tool works. All are released under a BSD-3-Clause License.

还有一个示例应用程序,显示了此工具的工作方式。 所有内容均根据BSD-3-条款许可发布 。

19.虫洞 (19. Wormhole)

Wormhole is “a time-traveling bytecode rewriter which adds future APIs to android.jar which can be desugared to all API levels by D8 and R8.”

Wormhole是“遍历字节码的重写器,它将未来的API添加到android.jar ,而D8和R8可以将其分解为所有API级别。”

Wormhole assures that you can have backward compatibility with the newest APIs. For example,

蠕虫漏洞可确保您可以与最新的API向后兼容。 例如,

“In Android R there are new methods from Java 9 such as List.of. Thanks to D8 and R8, these are not exclusive to API 30, but instead instantly work down to API 1. There are a set of desugarings in D8 and R8 for APIs which are not yet in android.jar. Instead of having to wait to use them, this project makes them available immediately.”

“ Android R中有来自Java 9的新方法,例如List.of 多亏了D8和R8,它们并不是API 30所独有的,而是可以立即工作到API1。D8和R8中有一些关于android.jar 尚未使用的API的废话。 该项目无需等待使用它们,而是使它们立即可用。”

20. MNML (20. MNML)

MNML, pronounced “minimal,” is a free and simple screen recorder for Android.

MNML ,发音为“ minimal”,是适用于Android的免费,简单的屏幕录像机。

Obviously, there are many apps and tools allowing that functionality. Currently, all new devices have screen recording built in, but still, if you want to check how to implement such an app, this project is a great resource.

显然,有许多应用程序和工具允许该功能。 当前,所有新设备都内置了屏幕录制功能,但是,如果您想检查如何实现这样的应用程序,则该项目是一个很好的资源。

It’s released under an Apache 2.0 license.

它是根据Apache 2.0许可发布的。

结论 (Conclusion)

That’s it. I hope you enjoyed the list and that some of the tools inspired you. Till next time!

而已。 我希望您喜欢这份清单,并且某些工具启发了您。 直到下一次!

翻译自: https://medium.com/better-programming/20-android-dev-tools-youve-probably-never-heard-of-c6cc08b4e543

从未像个聪明人一样做过决定


http://www.taodudu.cc/news/show-5073159.html

相关文章:

  • Host a Ghost Blog on Heroku
  • 35 个免费创新的响应式 HTML5 模板
  • 40套MiniIcon分享
  • 私藏系列:你或许从未听过的20个安卓开发工具
  • 每日开源2
  • 用通俗的解释,向你解释清楚大数据、人工智能和机器人之间的关系
  • 短视频剪辑,如何快速旋转视频90度播放
  • 【AI芯片CAISA】
  • 从学术空间通往商业之路 系统性AI芯片专著《人工智能芯片设计》面世
  • 人工智能芯片发展 (1
  • 笔记:AI芯片的未来创新方向
  • AI芯片和编译器
  • AI芯片:几种常见类型的AI芯片
  • 【深度学习】AI芯片:上游产业率先爆发
  • 科研 | AI芯片:CPU GPU TPU DPU NPU BPU简介
  • 人工智能芯片与传统芯片
  • AI芯片的评价指标和对比(CPU/GPU/ASIC/FPGA)
  • 详解AI芯片和传统芯片的差别,到底在那里?
  • AI芯片的评价指标和对比(CPUGPUASICFPGA)
  • AI芯片的历史和现状
  • AI芯片的性能评价
  • 2020人工智能Ai芯片前言解读
  • 人工智能芯片
  • 人工智能Ai芯片层出不穷,GPU、FPGA、ASIC用于人工智能的优势和劣势对比
  • 聊聊人工智能芯片(一)
  • 解决乐视电视投屏卡顿的问题
  • 乐视电视投屏服务器未响应,乐视电视投屏失败原因
  • 乐播投屏服务器响应失败是怎么回事,乐播投屏搜索设备失败的处理操作
  • 搜索不到投屏设备怎么办_乐播投屏搜索不到设备怎么办?乐播投屏搜索不到设备的解决方法...
  • 搜索不到投屏设备怎么办_乐播投屏搜索不到设备怎么办 问题分析与设置解决方法...

从未像个聪明人一样做过决定_您可能从未听说过的20个Android开发工具相关推荐

  1. powerbuilder 做业务导航图_教你学CAD导航栏,掌握通用导航工具和产品特定的导航工具也重要...

    阅读完,如果觉得有用,那么点击"关注"和点赞是对作者的一种尊重和鼓励.版权所有,抄袭必究.作者的新书<AutoCAD 2020中文版入门-进阶-精通(第6版)>已经正式 ...

  2. 有哪些是python做的软件_用Python写过哪些「脑洞大开」的小工具?

    抓取建立知乎大V之间的关系网络,大V之间的关系真的是错综复杂啊!实现思路是以一个大V为起点,不断的往上抓取关注列表,用 Neo4j 结合 Mysql 存储用户信息和用户之间的关系,Neo4j 存储人物 ...

  3. 私藏系列:你或许从未听过的20个安卓开发工具

    全文共4214字,预计学习时长11分钟 图源:unsplash 本文收录了笔者在日常工作中发现的许多宝藏工具和项目,它们能帮助你开发安卓应用,可供大家参考. 1. AinD: Docker中的Andr ...

  4. 刘鹏:与聪明人一起做精彩的事!那么,谁是聪明人?

    我们云创从成立之初所奉行的企业文化就是"与聪明人一起做精彩的事",与聪明人共襄盛举自然事半功倍,但是什么样的人才算得上是聪明人?我们该如何辨别呢? 先来看一则年代久远的笑话,这则笑 ...

  5. 一步一步教你如何用python做词云_一步一步教你如何用Python做词云

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...

  6. 做了一个系列的Android开发教程列表

    做了一个系列的Android开发教程列表.花了半天多的专题 里面包含了 4个系列的教程. 也包含了很多Android开发资料. 喜欢的人可以收藏哦:http://dev.apkbus.com/

  7. Algorithm:数学建模大赛(国赛和美赛)的简介/内容、数学建模做题流程、历年题目类型及思想、常用算法、常用工具之详细攻略

    Algorithm:数学建模大赛(国赛和美赛)的简介/内容.数学建模做题流程.历年题目类型及思想.常用算法.常用工具之详细攻略 目录 国内数学建模大赛简介 1.本科生数学建模大赛 2.研究生数学建模大 ...

  8. 现在做Android开发有前途吗?社招面试心得

    开头 面试时间:2021.2.9 1~3面.2021.2.13 4~6面.2021.2.26 HR面 面试部门 + 岗位:商业化 - 高级 Android 开发工程师 面试感想:整体面得比较累,基础面 ...

  9. kotlin 用协程做网络请求_中国电信营业厅: 感受 Kotlin 的 quot;加速度quot;

    "我们手上是一个很成熟的项目,所以毫无疑问需要保留 Java 代码,目前只会在新开发的页面中使用 Kotlin,并已经感受到了它带来的便利.随着功能的迭代,我们相信更多的功能会转而使用 Ko ...

最新文章

  1. CodeMapping:稀疏SLAM实时密集建图(帝国理工学院)
  2. 最大医学影像平台将首个实现把医疗AI引入实际应用
  3. 微信红包的架构设计简介
  4. java 二分查找_计算机入门必备算法——二分查找法
  5. 【转】8086内部结构及原理
  6. 漫画 | 程序员的悲哀是什么?
  7. gdb来调式多线程(转)
  8. 图方法:寻找无向图联通子集的JAVA版本
  9. 学习IDisposable,对于此中的不解……请高手指点
  10. CCS实例,网页栏目
  11. opencv-api fitEllipse
  12. 杨建:网站加速--系统架构篇
  13. 如何成为一名很酷的机器人工程师
  14. Python 第五篇 自制数字贺卡
  15. chrome 常用插件下载安装
  16. YII2.0电商平台开发笔记
  17. Linux操作系统基础知识(一)
  18. Vitalik万字长文:困扰加密货币的硬核难题五年后都怎么样了?
  19. 招商银行 支付 ECSHOP php shopex
  20. openjudge 海贼王之伟大航路(状压dp)

热门文章

  1. 一个基于HTML5的虚拟实验室
  2. MySQL事务特性和隔离级别(脏读、不可重复读、幻读)
  3. 广告投放黑科技Cloak
  4. 更改 onedrive 同步文件夹;如何下载整个文件夹
  5. IBM DOORS VS 统御 oKit,一份真实的需求管理工具调研报告
  6. 查看文件及内容处理命令(21个命令)
  7. BSA分析之MutMap分析原理详解
  8. linux下使用微信web开发者工具
  9. AD进行PCB拼板设计
  10. 高级可视化神器Plotly快速入门