5 条评论 , 版本 77, 最后更新于

Android 工具整合,让你的 Android 开发更高效

这个Android 工具wiki主要是 @d_clock 同学负责整理,大家可以去关注他的微博:D_clock爱吃葱花,另外@yasic@jixiaohua@siegen 等同学也参与了wiki部分条目整理。

前言

为了方便各位 Android 开发者,Diycode 社区的小伙伴联合整理了这份跟 Android 开发相关的工具 Wiki,希望能一定程度的提高开发人员的工作效率。为此,需要提前声明以下几点:

  • 这份工具 Wiki 仅介绍相应的工具名称和功能,并不包含详细的图文教程,当然,如果有不错的教程,我们会一并将教程链接放入;
  • 由于国内网络环境原因,有些工具的官方站点或教程需要 VPN 才能打开;
  • 社区的能力总是有限的,工具 Wiki 的内容有什么错误,欢迎所有的小伙伴指正;
  • 由于 Google 早已声明放弃 ADT 的更新,推荐开发者转向 AndroidStudio,所以下方介绍的工具都与 ADT(Eclipse)无关;
  • 如果你对工具有更好的补充推荐,欢迎整理发送到 robot@diycode.cc;

Diycode 是一个非常开放的社区,童鞋们提出的每个建议我们都会认真对待!

关于 VPN

前面提到由于国内网络环境原因,有些网站不使用 VPN 我们是无法打开的。作为一个 Android 开发者,配备一个 VPN 再寻常不过了!很多童鞋都在网上寻找各种免费的 VPN 使用,但过段时间又会发现 VPN 失效了,又得费心费力寻找下一个免费的 VPN 。其实维护一个 VPN 的成本还是挺高的,要找到稳定而又免费的 VPN 基本不大可能!(当然有些比较体贴的公司会为开发者人手配备一个) 所以,非常建议开发者们自己购买一个付费的 VPN,本人推荐了自己使用了快三年的VPN —— 云梯,选择一个合适自己的套餐:

上面就是我一直使用的套餐,大家如果觉得需要不妨点击我的邀请链接进行购买。为什么推荐大家购买云梯 VPN 呢,原因如下:

  • 寻找免费的 VPN 费时费力又不稳定,而付费的 VPN 价格不贵、稳定、还有专人维护(我自己使用过程遇到一些问题,发Email给客服,得到的回复都很详细),大家把时间精力花在学 Android 上更值得些;
  • 云梯的 VPN 支持了 Windows 、 Linux 、 Mac 、 Android 、iOS 各个操作系统,使用教程也详细;
  • 使用我的邀请链接进行购买,你我都可以获得10块钱的优惠;

关于 VPN 的推荐到此,并非强行加广告,只是个人使用三年觉得性价比不错,所以推荐给需要的童鞋。

Android 基本开发环境

JDK

JDK官方下载页面下载点击JDK(当前最新的是JDK8)

并选择相应的操作系统环境(Windows、Mac、Linux)进行下载

AndroidStudio

AndroidStudio官方下载页面(需要VPN)选择对应的 Channel 类型进行下载,一般选择 Stable 稳定版

点击进入可以看到 AndroidStudio 的最新版本以及各个历史版本,自行选择需要的进行下载,一般都会选最新的稳定版!

点击进入,同样选择相应的操作系统环境的安装包进行安装,Windows用户建议选择下面带有SDK的安装包,这样比较省事!

Gradle

GRADLE官方下载页面,下载最新版本,一般会选择文档源码齐全的 Complete distribution

一般来说AndroidStudio都会自带Gradle,所以不追求最新版本的Gradle,其实可以不用去下载

环境搭建配置

这一部分其实在网络上资料已经很多,使用搜索引擎一搜就有,可以考虑这篇文章——Android Studio搭建Android集成开发环境图文教程。此处就不去赘述了!完成了环境的搭建,就可以愉快的建立一个 HelloWorld 工程运行你的第一个 Android 程序了。

Android SDK

SDK(需要VPN)

安装完 AndroidStudio 后想要下载各大版本的 SDK,可以通过 Tools > Android > SDK Manager

选择需要的 SDK 进行下载即可

SDK(不需要VPN)

还是建议童鞋们买个 VPN,这样下载 SDK 会相当方便,这里也提供一种不需要 VPN 的下载 SDK 方式,就是使用代理服务器进行下载,方式也很简单。

和上面需要 VPN 的方式一样,通过 Tools > Android > SDK Manager 并点击下方

可以看到一个新的 SDK Manager 弹窗

在 SDK Manager 弹窗中,通过 Tools > Options 打开设置代理服务器的界面,填写对应的服务器地址和端口,并勾选 Force https://... sources to be fetched using http://... 然后保存,代理服务器和端口可以参考下方列表

最后再到 Packages > Reload 即可愉快下载 SDK 了。

下面整理了一些代理服务器及其端口(整理自androiddevtools),任君选择

来源 服务器地址 端口号
腾讯Bugly android-mirror.bugly.qq.com 8080
上海GDG sdk.gdgshanghai.com 8000
南阳理工学院 mirror.nyist.edu.cn 80
中国科学院开源协会 mirrors.opencas.cn (IPV4/IPV6) 80
中国科学院开源协会 mirrors.opencas.org (IPV4/IPV6) 80
中国科学院开源协会 mirrors.opencas.ac.cn (IPV4/IPV6) 80
北京化工大学 ubuntu.buct.edu.cn (IPV4) 80
北京化工大学 ubuntu.buct.cn (IPV4) 80
北京化工大学 ubuntu.buct6.edu.cn (IPV6) 80
大连东软信息学院 mirrors.neusoft.edu.cn 80

Android 模拟器

Android Studio 有自带的官方自带的模拟器,不过大家都知道的啦,官方自带的模拟器简直就是龟速。开发者们也有更好的选择,那就是 Genymotion 模拟器。

为了提高效率,还是建议大家使用真机进行开发调试,Genymotion 可以用来做在各大版本的系统上适配用。

以上就是 Android 开发的一些基础环境搭建,当然这份 Wiki 肯定不只局限于此,下面就开始推荐一些能够提高开发效率的工具。

Android Studio / IntelliJ IDEA 插件

本章节推荐的所有插件都是基于 Android Studio / IntelliJ IDEA 开发环境的,由于 Google 已经放弃对 ADT 的维护开发,鼓励广大开发者转向 Android Studio 。所以,这里并不推荐关于 Eclipse 开发环境的插件。

插件列表

插件名称 下载地址 功能简介
SelectorChapek Github 根据资源名称自动生成selector
ButterKnifeZelezny Github 帮助自动生成注解对象
RemoveButterKnife Github 移除 ButterKnife 的注解实现
ParcelableCodeGenerator Github 自动生成Parcelable接口对应的实现代码
PermissionsDispatcher Github 自动生成 Android 6.0 的 RuntimePermission 处理代码
MaterialDesignIconGenerator Github 在项目中生成 MaterialDesign 风格图标
GitignorePlugin Github 帮助生成ignore文件的插件
Codegenerator-Plugin-Intellij Github 根据xml布局文件自动生成Fragment、ViewHolder、Activity等,尽量避免不断重复写findViewById的问题
idea-markdown Github 在AS中编辑README文件时,可以直观的预览最终的网页显示效果,对于经常在项目中写README的你,一定需要
GsonFormat Github 根据Gson库使用的要求,将JSONObject格式的String 解析成实体
adb-idea Github 一个将ADB操作可视化的插件,具体可以用它启动App、清除数据等
AndroidWiFiADB Github 可以通过这个插件来达到无线调试应用的目的,摆脱数据线
FIRPlugin Github 一键上传应用到fir.im,关于Fir
Android-DPI-Calculator Github 方便计算出在不同目录(hdpi xhdpi xxhdpi..)下的DPI
Robotium Recorder 官网 Robotium 自动化测试脚本录制工具
material-theme-jetbrains Github 一个非常好看的 AndroidStudio 皮肤插件,具体可查看 Github 项目
ECTranslation Github Android Studio 翻译插件,可以将英文翻译为中文
Android Localizationer Github 可将项目中的 String 资源自动翻译为其他语言
Statistic Jetbrains 分析项目代码行数和每个java文件的代码行数
SQLScout 官网 可以直接用 AS 查看手机上 Sqlite 数据库,并且执行相关的SQL操作(付费插件)

插件安装方式

安装插件的过程是非常简单的,主要分为在线下载安装本地文件安装两种。一个插件如何安装,在上方的插件表格对应的下载地址页面都会有详细的说明,相信大家是能够看懂的。实在需要手把手教学的童鞋,可以参考下面两篇文章,此处就不再赘述了。

Apk 反编译分析工具

工具名称 下载地址 功能简介
apktool Github 还原 Apk 中所包含的 resources.arsc, classes.dex, 9.png 和 xml 等文件,也可以用于二次打包
SmaliIdea Github Smail调试插件,用于对反编译后的内容进行调试
dex2jar Github 将 Apk 安装包中的 dex 文件还原成为 jar 文件
jd-gui Github 查看 dex 文件还原成为 jar 文件代码,并且能将 jar 文件中所有的 class 文件转换成为 java 文件
jadx Github 与 jd-gui 功能类似,由于 jd-gui 作者停止更新一段时间了,所以 jadx 会是一个不错的选择
enjarify Github Google出品,可直接将 apk 文件还原成为 jar 文件,也可以和 dex2jar 一样,直接操作某个dex
Procyon Bitbucket 将反编译得到 jar 包还原成 java 文件,同时能够更强的还原代码的逻辑结构
ClassyShark Github Google出品,可直接浏览 Apk,支持对.dex, .aar, .so,.apk, .jar, .class等文件的操作

网络抓包分析工具

工具名称 下载地址 功能简介
TcpDump 官网 支持对手机进行多种协议网络抓包并生成pcap文件,前提是手机已经获取 Root 权限
WireShark 官网 配合 Tcpdump 生成打 pcap 文件,进行分析
Fiddler 官网 支持对 HTTP 和 HTTPS 两种协议进行抓包,相比 TcpDump 工具,它不需要手机 Root 权限,同时有自带独立的 GUI
Charles 官网 和 Fiddler 功能类似,但是 Mac 开发环境下的童鞋,用此工具会胜于 Fiddler
Stetho 官网 Facebook研发的安卓APP网络诊断和数据监控的框架,使用教程请戳

Android 多渠道打包工具

工具名称 教程
apktool 1、美团Android自动化之旅—生成渠道包 2、美团多渠道打包方案初体验
packer-ng-plugin 官方教程 ,下一代Android打包工具,100个渠道包只需要10秒钟
AndroidMultiChannelBuildTool 官方教程

Android Bug 日志搜集工具

工具名称 介绍
Fabric Twitter 旗下的一款移动平台崩溃日志监测 SDK
Bugly 腾讯旗下的一款移动平台崩溃日志监测 SDK
LeakCanary 著名的开源组织 Square 开发了一套 Android 和 Java 内存泄露检测库。LeakCanary 是一个检测内存泄露的开源类库。你可以在 debug 包种轻松检测内存泄露。
ACRA ACRA是一个可以让安卓应用自动发出GoogleDoc格式崩溃报告的函数库。安卓开发者可以通过ACRA获取应用崩溃或者错误行为的数据。如果有一个崩溃发生,你的应用不会越过已有的系统崩溃提醒或者报告功能来添加用户提醒。如果使用Toast、状态提醒条或者直接对话框模式,这个“强制关闭”的对话框不会再显示,就算设备上原生系统的提醒功能开启也不能发送一个另外的报告。
LogReport 当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方。另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传

静态代码分析工具

名称 功能介绍
Android Lint AndroidStudio自带的代码扫描工具,用于帮助我们识别代码结构存在的问题,官方使用教程请戳这里 (需要VPN)
Checkstyle 帮助开发者实现常用JAVA代码规范的自动化检查。它的功能比较丰富,相对配置起来比较复杂,你需要根据自己的需求配置你想检查的东西,比如Annotations,Block Checks,Class Design,Coding,Duplicate Code,Headers,Imports,Javadoc Comments,Metrics,Miscellaneous,Modifiers,Naming Conventions,Regexp,Size Violations,Whitespace。使用教程请戳这里
FindBugs findbugs是一个分析bytecode并找出其中可疑部分的一个工具。它给项目字节码做一个全面扫描,通过一些通用规则去判断可能潜在的一些问题,比如性能,多线程安全等等。使用教程请戳这里
PMD PMD也是一个静态代码分析工具,它主要用来分析一些常见问题。PMD和Findbugs功能上有很多重叠的地方,二者区别主要体现在分析对象上,Findbugs扫描的是字节码,所以找到问题的级别有可能不一样。使用教程请戳这里
Infer FaceBook 开源的静态代码分析工具。官方使用教程请戳这里

在线代码生成器,提高开发效率

名称 功能介绍
Android Layout Finder 只需粘贴你的Android布局代码在第一个文本框,选择你需要的功能,就会自动生成代码。
Android KickstartR 帮助您快速创建 Android应用程序并使用最流行的库进行配置。 它创建和配置你的项目给你。只专注于代码!
Android Button Maker 在线生成shape drawable XML代码 ,提供图形界面调试,更加直观。
Android Layout Parser工具 输入你的字段的前缀,选择你的XML中的范围并点击生成,自动生成java代码。

Android资源生成分析工具

名称 功能介绍
Android Asset Studio icon制作(桌面icon,通知栏icon等),9patch图片制作,ActionBar样式等相关的工具。
Android Action Bar Style Generator 自定义生成自己风格主题,图形化界面,直接下载相关的代码和资源。
Simple Nine-Patch Generator 快速生成不同分辨率的资源。
Android Holo Colors Generator 在线生成android的组件,如EditText、Radio等等,通过自定义自己的颜色风格。图形界面,简单可观。
Android Assets Viewer 通过上传的自己的drawable resources,是否达到设计师的视觉效果。
Android SVG To VectorDrawable 一个可以将SVG图片转换为Vector Drawable xml文件的在线工具。

计算转换工具

名称 功能介绍
Android Dp Px Calculator dp px 相互转换。
DP-PX-Converter 自定义生成自己风格主题,图形化界面,直接下载相关的代码和资源。
Androidpixels 不同分辨率下的转换数值。
Pixelcalc Android pixel 计算器。
RGB转换 通常UI设计师都会给开花童鞋色值,当疏忽的时候,我们可以使用截图软件得到10进制的三个值,然后将其转换成色值。这里有一个便捷的RGB工具。RGB转换RGB转换。
进制转换 Android中所有的资源都有一个对应的资源ID,资源ID的类型为16进制的整数。有些时候特殊的场合处理资源ID,为了调试需要进行进制转换,比如16进制转常用的10进制。不用自己算,使用下面的工具就可以轻松搞定。进制转换在线快速转换,比如16进制转常用的10进制。

版本控制工具

名称 教程
Git Git安装指南Git简明教程Git在线交互式学习Git在Android Studio中的使用说明
SVN SVN下载安装SVN使用教程SVN在Android Studio中的使用说明

性能分析工具

名称 功能介绍
Debug GPU Overdraw 系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Debug GPU Overdraw 选择 Show overdraw areas)。 用来检测UI的重绘次数,开发者可以用来优化UI的性能
Profile GPU Rendering 系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars )。用来检测UI绘制帧的速率和耗时,同样开发者可以用来优化UI的性能。
Hierarchy Viewer SDK自带工具(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars ),同样是检测UI渲染用的
Memory Monitor、Heap Viewer、Allocation Tracker AndroidStudio自带的内存检测分析工具
Traceview、Systrace AndroidSDK自带的CPU使用分析的工具
Battery Historian Google IO大会上的推荐的耗电分析工具,地址 https://github.com/google/battery-historian
WakeLock Detector 对手机的运行状态进行探测记录,能统计那些应用触发了CPU运行消耗cpu,那些应用触发了屏幕点亮。同时还可以对运行时间进行统计,可以查看应用内使用细节。手机需要root
GSam Battery Monitor 检测手机电池电量的消耗去向,能够用折线图进行统计展示。手机需要root
Trepn Profiler 高通出品,用于分析检测手机CPU的消耗。手机需要root,且只支持手机的CPU是高通的。
GT 腾讯MIG专项测试组开发出来的狂拽酷炫屌炸天的神器,官网地址:http://gt.tencent.com/index.html
iTest 科大讯飞出品的测试工具,直接安装使用,是一款服务于Android测试人员的专业手机自动化性能监控工具。官网地址:http://itest.iflytesting.com
Emmagee 网易出品的测试工具,和iTest差不多,最大的好处在于,能够对应用的常用性能指标进行检测,并以csv的格式保存方便查看应用的各项参数。测试结果看起来更加直观,还有很重要一点是,它开源!官网地址:https://github.com/NetEase/Emmagee

未完待续

工具总是无限的,如果你有更好的工具推荐,欢迎整理发送到 robot@diycode.cc 哦