Android 常用开发工具以及Mac常用软件

jopen 9年前

Android 常用的开发工具记录。其中包括AndroidStudio(IDEA)插件、Mac 上好用的软件以及国内知名Android开发者博客等。

Android Studio 插件

  1. codota 插件,提供高质量的Android代码片段搜索,官方网站codota官网

Android 网站

  1. Android Developer Androuid 官网,不解释。
  2. AndroidDevTool 国人维护的Android开发工具的整理。
  3. Android Arsenal 各种各样的Android开源库的推荐。
  4. Android Weekly Android周报,干货集锦。
  5. Stack Overflow StackOverflow 能查到的问题,那就不是问题。
  6. Material Design Material Design 设计规范。
  7. Trinea Trinea前辈的博客。
  8. GrepCode 所有版本的Android源码以及其他著名项目源码。
  9. AndroidXREF 所有版本的Android源代码的在线阅读。
  10. SearchCode 搜索代码示例
  11. CodePath Android 知识点的入门教程。
  12. Android Training 中文版
  13. Android Api Guide 中文版
  14. Android Design 中文版
  15. Appance 各种AndroidUI设计风格。
  16. Android Libraries and Resources
  17. AndroidElementals 各种Android开源View 组件。
  18. android经典开源代码分享
  19. Android 源码解析
  20. awesome-android 各种Android开元项目集合。
  21. Android开发周报中文版
  22. Android开发者博客汇总
  23. GitHub Android大神汇总
  24. ImportNew Java 资讯
  25. 技术小黑屋
  26. 代码家
  27. Android Cool Posts
  28. Android开源项目分类汇总—Trinea

Android 系统性能调优工具

TraceView

Traceview是Android平台特有的数据采集和分析工具,它主要用于分析Android中应用程序的hotspot。Traceview本身只是一个数据分析工具,而数据的采集则需要使用Android SDK中的Debug类或者利用DDMS工具。

Systrace

Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者收集Android关键子系统(如surfaceflinger、WindowManagerService等Framework部分关键模块、服务)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。

Systrace的功能包括跟踪系统的I/O操作、内核工作队列、CPU负载以及Android各个子系统的运行状况等。

Oprofile

Oprofile是另一个功能更强大的性能数据采集和分析工具,其工作原理如下:

  • 它利用性能计数器(Performance Counter)或者定时器(针对kernel不支持性能计数器的情况),通过连续的采样获得统计数据,从而对内核和用户空间进程进行性能分析。

  • 以性能计数器为例,在系统运行过程中,当某个事件发生时,对应的性能计数器就会自加。当达到计数器的设定值时会产生一个中断。 Oprofile驱动利用这个中断来进行采样统计。通过获取中断发生时PC指针的值以及内核中保存运行的任务的信息等,并把它们转化成对测评有用的数据。

  • Oprofile包括内核驱动和用户空间工具两个部分,其中:

  • 内核驱动实现了一个oprofilefs虚拟文件系统。它挂载到/dev/oprofile,用来向用户空间报告数据和接收来自用户空间的设置。它是用户空间进程与内核通信的桥梁。驱动中还包括了与架构相关和通用的驱动,通过它们访问性能计数器寄存器、收集数据后报告给用户空间。守护进程用户从内核接收数据并保存在磁盘上以备分析使用。

  • 在用户空间提供了两个工具:oprofiled(作为守护进程在后台通过和/dev/oprofile交互以获取驱动收集的数据)、opcontrol(用户操作的控制工具,它通过读写oprofilefs来控制采样相关的设置)。

Hierarchy Viewer

这个工具可以帮助开发者调试、优化用户界面。它可以为App的用户界面结构生成一个图形的展示方式,并且提供了显示的放大功能。

Android DDMS

在Android开发工具包当中有一个调试工具,Dalvik Debug Monitor Server (DDMS)。这个工具提供了端口转发,截屏,堆栈,进程信息,日志,信号状态信息,模拟来电,短信,模拟地理位置信息等。

Zipalign

这个工具可以优化Android程序文件(.apk)。这个工具的原理是能够将所有非压缩的数据按照4个字节的边界对齐。

Android测试工具

Android Test Kit

Android Test Kit 是一组 Google 开源测试工具,用于 Android 平台,包含 Espresso API 可用于编写简洁可靠的 Android UI 测试。

AndroidJUnit4

AndroidJUnit4 是一个让 JUnit 4 可以直接运行在 Android 设备上的开源命令行工具。

Appium

Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。

Calabash-android

calabash-android 是一个基于 Cucumber 的 Android 的功能自动化测试框架。Calabash 允许你写和执行,是开源的自动化移动应用测试工具,支持 Android 和 iOS 原生应用。Calabash 的库允许原生和混合应用的交互测试,交互包括大量的终端用户活动。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 应用和桌面环境的交互跟触摸屏应用的交互是不同的。Calabash 专为触摸屏设备的原生应用提供 APIs。

Monkey

Monkey 是 Google 开发的 UI/应用测试工具,也是命令行工具,主要针对压力测试。你可以在任意的模拟器示例或者设备上运行。Monkey 发送一个用户事件的 pseudo-random 流给系统,作为你开发应用的压力测试。

MonkeyTalk

MonkeyTalk 是世界上最强大的移动应用测试工具。MonkeyTalk 自动为 iOS 和 Android 应用进行真实的,功能性交互测试。MonkeyTalk 提供简单的 “smoke tests”,复杂数据驱动的测试套件。MonkeyTalk 支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk 使得场景捕获非常容易,可以记录高级别,可读的测试脚本。同样的命令可以用在 iOS 和 Android 应用上。你可以记录一个平台的一个测试,并且可以在另外一个平台回放。MonkeyTalk 支持移动触摸和基于手势交互为主的移动体验。点击,拖拽,移动,甚至是手指绘制也可以被记录和回放。

NativeDriver

NativeDriver 是 WebDriver API 的实现,是原生应用 UI 驱动,而不是 web 应用。

Robolectric

Robolectric 是一款Android单元测试框架,使用 Android SDK jar,所以你可以使用测试驱动开发 Android 应用。测试只需几秒就可以在工作站的 JVM 运行。Robolectric 处理视图缩放,资源加载和大量 Android 设备原生的 C 代码实现。Robolectric 允许你做大部分真实设备上可以做的事情,可以在工作站中运行,也可以在常规的 JVM 持续集成环境运行,不需要通过模拟器。

RoboSpock

RoboSpock 是一个开源的 Android 测试框架。提供简单的编写 BDD 行为驱动开发规范的方法,使用 Groovy 语音,支持 Google Guice 库。RoboSpock 合并了 Robolectric 和 Spock 的功能。

Robotium

Robotium 是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。

UIAutomator

uiautomator 测试框架提高用户界面(UI)的测试效率,通过自动创建功能 UI 测试示例,可以在一个或者多个设备上运行你的应用。

Selendroid

Selendroid 是一个 Android 原生应用的 UI 自动化测试框架。测试使用 Selenium 2 客户端 API 编写。Selendroid 可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。

Spoon

可用于android不同机型设备自动化测试,能将应用apk和测试apk运行在不同机器上并生成相应测试报告。
项目地址:https://github.com/square/spoon

Android FEST

提供一些列方便的断言,可用于提高编写Android自测代码效率
项目地址:https://github.com/square/fest-android

Mac软件推荐

  1. Dash ,文档搜索工具,配合Alfred使用,可以快速查看API文档。
  2. Alfred,效率工具,功能较SpotLight更为强大。
  3. SourceTree,Mac上好用的Git管理工具,方便的管理Git仓库。
  4. CleanMyMac,强大的系统清理工具,可以清理系统垃圾并卸载App。
  5. Pocket,稍后阅读。
  6. Atom,GitHub出品的强大文本工具。
  7. Unibox,邮件客户端,基于用户名称管理邮件。
  8. Parallels Desktop,虚拟机,性能彪悍,功能强大。
  9. OneNote,微软良心产品,笔记工具。
  10. 印象笔记,知识管理工具。
  11. 马克飞象 好用的 MarkDown 编辑工具,可以将笔记同步到印象笔记。
  12. Kindle,亚马逊电子书阅读器。
来自:http://codingfish.top/2015/07/07/android-developer-tools-list/