Android 常用开发工具以及Mac常用软件
Android 常用的开发工具记录。其中包括AndroidStudio(IDEA)插件、Mac 上好用的软件以及国内知名Android开发者博客等。
Android Studio 插件
- codota 插件,提供高质量的Android代码片段搜索,官方网站codota官网
Android 网站
- Android Developer Androuid 官网,不解释。
- AndroidDevTool 国人维护的Android开发工具的整理。
- Android Arsenal 各种各样的Android开源库的推荐。
- Android Weekly Android周报,干货集锦。
- Stack Overflow StackOverflow 能查到的问题,那就不是问题。
- Material Design Material Design 设计规范。
- Trinea Trinea前辈的博客。
- GrepCode 所有版本的Android源码以及其他著名项目源码。
- AndroidXREF 所有版本的Android源代码的在线阅读。
- SearchCode 搜索代码示例
- CodePath Android 知识点的入门教程。
- Android Training 中文版
- Android Api Guide 中文版
- Android Design 中文版
- Appance 各种AndroidUI设计风格。
- Android Libraries and Resources
- AndroidElementals 各种Android开源View 组件。
- android经典开源代码分享
- Android 源码解析
- awesome-android 各种Android开元项目集合。
- Android开发周报中文版
- Android开发者博客汇总
- GitHub Android大神汇总
- ImportNew Java 资讯
- 技术小黑屋
- 代码家
- Android Cool Posts
- Android开源项目分类汇总—Trinea
- 美团技术团队
- Google Java编程风格指南中文版
- Android Gradle 使用指南
- Developing Android Apps 国外某位大神的Android 开发教程
- 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 推送
- 百度云推送
- 个推推送
- 极光推送
- 友盟推送
- 腾讯信鸽推送
- 小米推送
- 友推
- 华为推送
- 云巴消息推送
- 魔泊网
- DDPush任意门推送
Android 数据统计
- 友盟统计分析
- 百度移动统计
- TalkingData
- Google Analytics统计服务
- LeanCloud统计
- CNZZ移动统计
- 机锋统计
- Flurry Analytics
Androd 常用渠道
- 百度手机助手
- 豌豆荚移动应用商店
- 优亿市场
- 应用汇
- 应用汇
- 360手机助手
- 安智市场
- 腾讯应用宝
- 91助手
- 安卓市场
- 木蚂蚁应用市场
- Google Play
- 机锋市场
Mac软件推荐
- Dash ,文档搜索工具,配合Alfred使用,可以快速查看API文档。
- Alfred,效率工具,功能较SpotLight更为强大。
- SourceTree,Mac上好用的Git管理工具,方便的管理Git仓库。
- CleanMyMac,强大的系统清理工具,可以清理系统垃圾并卸载App。
- Pocket,稍后阅读。
- Atom,GitHub出品的强大文本工具。
- Unibox,邮件客户端,基于用户名称管理邮件。
- Parallels Desktop,虚拟机,性能彪悍,功能强大。
- OneNote,微软良心产品,笔记工具。
- 印象笔记,知识管理工具。
- 马克飞象 好用的 MarkDown 编辑工具,可以将笔记同步到印象笔记。
- Kindle,亚马逊电子书阅读器。
变更记录
- 2015年07月12日 初稿撰写。将自己收藏夹中的一些常用资源进行整理。
- 2015年07月15日 增加部分Android相关工具网站,包括推送、数据统计以及上线渠道等。
参考文献以及版权说明
肥肥在数据整理过程中,参考了大量来自知乎、CSDN、博客园等知名网站、肥肥在工作中的笔记以及大量国内外个人博客,谨在此向这些为了Android发展做出贡献的前辈们致以最高的敬意。
肥肥尽最大的努力查找所参考资料的原始出处,并在后文以参考文献的方式列出。由于人力有限,并不能完全的列出资料的原始出处,如有侵犯到您的权利,还望告知。
- AndroidDevToold
Android 常用开发工具以及Mac常用软件相关推荐
- Android常用开发工具以及Mac常用软件
程序员大多钟爱利用MAC进行工作,本文为大家带来的就是Android开发工具以及Mac常用软件. Android Studio 插件 1.codota 插件,提供高质量的Android代码片段搜索,官 ...
- java开发任务必备的工具_Web常用开发工具有哪些?常用工具推荐
Web常用开发工具有哪些?常用工具推荐,IT程序员为了快速.高效地完成任务,会使用一些Web开发具来辅助完成工作,这些工具有代码高亮显示.语法提示等便捷功能的前端开发工具,对于开发者非常友好. 小编整 ...
- 【2020】明哥版-JetBrains旗下常用开发工具教程目录更新中-建议收藏
前言 我为什么要写这个系列的教程?很早以前我们在写Java代码时用的较多开发工具可能就是MyEclipse或eclipse,当然了如果你在企业中还能遇见很古老的项目的话,你维护的时候还是需要使用MyE ...
- Windows平台 常用开发工具下载
常用工具系列 相关文章: Windows平台 常用开发工具下载 putty,Android Studio,Visual Studio Code,git,Visual Paradigm社区版 Ubunt ...
- Java新手看招 常用开发工具介绍
Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...
- Drupal常用开发工具(一)——Devel模块
2019独角兽企业重金招聘Python工程师标准>>> 进行 Drupal 开发时有许多模块和工具可供使用,其中最常用的两项便是 Devel 及 Drupal for Firebug ...
- Linux 10分钟掌握Linux常用开发工具及编译的四个过程
Linux下的常用开发工具 软件包管理工具 yum–类似于手机上的应用商店(管理当前系统中能够安装的工具以及卸载的工具,并且实现安装及卸载操作) 1.查看所能安装的软件:yum list 查看所有工具 ...
- Java程序员常用开发工具有哪些?
Java程序开发人员可以选择集成开发环境IDE(IntegratedDevelopmentEnvironment),因为Java是一种开放源码语言.开放源代码免费,商业收费.怎样选择一种适合自己的集成 ...
- iOS常用开发工具及第三方框架
iOS开发中使用到的工具,以及为了避免重复造轮子,也为了更快.更有效的地进行开发,常常引用的第三方框架,像网络请求的AFNetworking,数据持久化的FMDB,请求提示符MJRefresh,还有数 ...
- FPGA的常用开发工具
简述FPGA的常用开发工具的名称与功能? 答: 公司 软件 简要说明 Xilinx ISE 集成开发环境 EDK 嵌入式系统开发工具 System Generator 数字信号处理开发软件 ChipS ...
最新文章
- solr安装-tomcat+solrCloud构建稳健solr集群
- 2013年1月18日调试触发器“表发生了变化,触发器或函数不能读它”的出现原因,以及解决方案...
- FancyBox - 经典的 jQuery Lightbox 插件
- 中文转数字 java_java将阿拉伯数字转换为中文数字
- c++循环执行一个函数_javascript的五种循环,作为程序员,要根据场景和性能作出选择
- python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...
- code vs 1013 求先序排列
- J2EE 读取资源文件properties的三种方式
- 无线路由器 tftp服务器怎么开启,水星路由器tftp服务器怎么开启
- Linux内核启动内核解压过程分析
- BZOJ 4807(車-高精度)
- 【NIO】解读 java.nio.channels.Channel
- Python socket文件上传下载
- rust为什么找不到服务器,rust找不到朋友的服务器 | 手游网游页游攻略大全
- 在vue/html中添加单选按钮
- [小知識] 判斷是否為繁體字(Big5)
- 云效触发Jenkins自动构建
- 蓄水池采样 Reservoir Sampling
- SCI论文投稿信(Cover Letter)的写法及模版(转
- IE6,IE7中 按钮的宽度随着内容的增多而增长