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
  29. 美团技术团队
  30. Google Java编程风格指南中文版
  31. Android Gradle 使用指南
  32. Developing Android Apps 国外某位大神的Android 开发教程
  33. free-programming-books 一大堆英文编程书籍的推荐

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

Android 推送

  1. 百度云推送
  2. 个推推送
  3. 极光推送
  4. 友盟推送
  5. 腾讯信鸽推送
  6. 小米推送
  7. 友推
  8. 华为推送
  9. 云巴消息推送
  10. 魔泊网
  11. DDPush任意门推送

Android 数据统计

  1. 友盟统计分析
  2. 百度移动统计
  3. TalkingData
  4. Google Analytics统计服务
  5. LeanCloud统计
  6. CNZZ移动统计
  7. 机锋统计
  8. Flurry Analytics

Androd 常用渠道

  1. 百度手机助手
  2. 豌豆荚移动应用商店
  3. 优亿市场
  4. 应用汇
  5. 应用汇
  6. 360手机助手
  7. 安智市场
  8. 腾讯应用宝
  9. 91助手
  10. 安卓市场
  11. 木蚂蚁应用市场
  12. Google Play
  13. 机锋市场

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,亚马逊电子书阅读器。

变更记录

  • 2015年07月12日 初稿撰写。将自己收藏夹中的一些常用资源进行整理。
  • 2015年07月15日 增加部分Android相关工具网站,包括推送、数据统计以及上线渠道等。

参考文献以及版权说明

肥肥在数据整理过程中,参考了大量来自知乎、CSDN、博客园等知名网站、肥肥在工作中的笔记以及大量国内外个人博客,谨在此向这些为了Android发展做出贡献的前辈们致以最高的敬意。

肥肥尽最大的努力查找所参考资料的原始出处,并在后文以参考文献的方式列出。由于人力有限,并不能完全的列出资料的原始出处,如有侵犯到您的权利,还望告知。

  • AndroidDevToold

Android 常用开发工具以及Mac常用软件相关推荐

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

    程序员大多钟爱利用MAC进行工作,本文为大家带来的就是Android开发工具以及Mac常用软件. Android Studio 插件 1.codota 插件,提供高质量的Android代码片段搜索,官 ...

  2. java开发任务必备的工具_Web常用开发工具有哪些?常用工具推荐

    Web常用开发工具有哪些?常用工具推荐,IT程序员为了快速.高效地完成任务,会使用一些Web开发具来辅助完成工作,这些工具有代码高亮显示.语法提示等便捷功能的前端开发工具,对于开发者非常友好. 小编整 ...

  3. 【2020】明哥版-JetBrains旗下常用开发工具教程目录更新中-建议收藏

    前言 我为什么要写这个系列的教程?很早以前我们在写Java代码时用的较多开发工具可能就是MyEclipse或eclipse,当然了如果你在企业中还能遇见很古老的项目的话,你维护的时候还是需要使用MyE ...

  4. Windows平台 常用开发工具下载

    常用工具系列 相关文章: Windows平台 常用开发工具下载 putty,Android Studio,Visual Studio Code,git,Visual Paradigm社区版 Ubunt ...

  5. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  6. Drupal常用开发工具(一)——Devel模块

    2019独角兽企业重金招聘Python工程师标准>>> 进行 Drupal 开发时有许多模块和工具可供使用,其中最常用的两项便是 Devel 及 Drupal for Firebug ...

  7. Linux 10分钟掌握Linux常用开发工具及编译的四个过程

    Linux下的常用开发工具 软件包管理工具 yum–类似于手机上的应用商店(管理当前系统中能够安装的工具以及卸载的工具,并且实现安装及卸载操作) 1.查看所能安装的软件:yum list 查看所有工具 ...

  8. Java程序员常用开发工具有哪些?

    Java程序开发人员可以选择集成开发环境IDE(IntegratedDevelopmentEnvironment),因为Java是一种开放源码语言.开放源代码免费,商业收费.怎样选择一种适合自己的集成 ...

  9. iOS常用开发工具及第三方框架

    iOS开发中使用到的工具,以及为了避免重复造轮子,也为了更快.更有效的地进行开发,常常引用的第三方框架,像网络请求的AFNetworking,数据持久化的FMDB,请求提示符MJRefresh,还有数 ...

  10. FPGA的常用开发工具

    简述FPGA的常用开发工具的名称与功能? 答: 公司 软件 简要说明 Xilinx ISE 集成开发环境 EDK 嵌入式系统开发工具 System Generator 数字信号处理开发软件 ChipS ...

最新文章

  1. solr安装-tomcat+solrCloud构建稳健solr集群
  2. 2013年1月18日调试触发器“表发生了变化,触发器或函数不能读它”的出现原因,以及解决方案...
  3. FancyBox - 经典的 jQuery Lightbox 插件
  4. 中文转数字 java_java将阿拉伯数字转换为中文数字
  5. c++循环执行一个函数_javascript的五种循环,作为程序员,要根据场景和性能作出选择
  6. python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...
  7. code vs 1013 求先序排列
  8. J2EE 读取资源文件properties的三种方式
  9. 无线路由器 tftp服务器怎么开启,水星路由器tftp服务器怎么开启
  10. Linux内核启动内核解压过程分析
  11. BZOJ 4807(車-高精度)
  12. 【NIO】解读 java.nio.channels.Channel
  13. Python socket文件上传下载
  14. rust为什么找不到服务器,rust找不到朋友的服务器 | 手游网游页游攻略大全
  15. 在vue/html中添加单选按钮
  16. [小知識] 判斷是否為繁體字(Big5)
  17. 云效触发Jenkins自动构建
  18. 蓄水池采样 Reservoir Sampling
  19. SCI论文投稿信(Cover Letter)的写法及模版(转
  20. IE6,IE7中 按钮的宽度随着内容的增多而增长

热门文章

  1. 学习AngularJs:Directive指令用法
  2. 计算机专业课题 结题报告,计算机结题报告.doc
  3. 遇到一个很冷门的bug(java.lang.NoSuchMethodException问题原因及解决办法)
  4. 【Linux学习笔记】last命令
  5. Cypress初探(一)
  6. C语言基础学习——简单的C程序格式
  7. 小蒟蒻的blog美化汇总~
  8. python 实现 加减乘除,对数指数,三角反三角计算器
  9. 【bzoj2242】计算器 离散对数
  10. 将Excel表格中的数字文本格式转化为数字格式