第四部分 开发工具及测试工具

主要介绍和Android开发工具和测试工具相关的开源项目。

一、开发效率工具

  1. Json2Java
    根据JSon数据自动生成对应的Java实体类,还支持Parcel、Gson Annotations对应代码自动生成。期待后续的提取父类以及多url构建整个工程的功能
    项目地址:https://github.com/jonfhancock/JsonToJava
    在线演示:http://jsontojava.appspot.com/

  2. IntelliJ Plugin for Android Parcelable boilerplate code generation
    Android studio插件,生成Parcelable代码
    项目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
    效果图:

  3. Android Holo Colors IntelliJ Plugin
    Android studio插件,生成holo样式9 patch图片
    项目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
    效果图:

  4. Android Drawable Factory
    用于生成各个分辨率的图片
    项目地址:https://github.com/tizionario/AndroidDrawableFactory
    效果图:

  5. SelectorChapek for Android
    Android Studio插件,可根据固定文件名格式资源自动生成drawable selectors xml文件。
    项目地址:https://github.com/inmite/android-selector-chapek

  6. Android Action Bar Style Generator
    Android ActionBar样式生成器,可在线选择ActionBar样式自动生成所需要的图片资源及xml文件
    项目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
    在线演示:http://jgilfelt.github.io/android-actionbarstylegenerator/

  7. ButterKnifeZelezny
    用于快速生成ButterKnifeView注入代码的Android Studio/IDEA插件
    项目地址:https://github.com/inmite/android-butterknife-zelezny

  8. RoboCoP
    利用Gradle task根据固定格式的json文件生成ContentProvider
    项目地址:https://github.com/mediarain/RoboCoP

  9. appiconsizes
    用于生成各个分辨率的图片
    项目地址:http://www.appiconsizes.com/

  10. Gradle Retrolambda Plugin
    Retrolambda是将Java8的Lambdas应用于Java7的工具,本项目是Gradle插件,通过Retrolambda从而使Java或Android项目用Java8的Lambdas编写,将编译后的字节码转换为Java6和7的字节码从而正常运行
    项目地址:https://github.com/evant/gradle-retrolambda

  11. Dagger IntelliJ Plugin
    dagger的intellij插件
    项目地址:https://github.com/square/dagger-intellij-plugin

  12. Android Gen Drawable Maven plugin
    在编译时根据SVG描述文件生成不同分辨率的jpg、png或点9图片
    项目地址:https://github.com/avianey/androidgendrawable-maven-plugin

  13. Android Asset Studio
    各种Android资源自动生成器,包括启动图标、ActionBar图标、通知栏图标、点9等
    项目地址:https://github.com/romannurik/AndroidAssetStudio
    在线演示:http://romannurik.github.io/AndroidAssetStudio/

二、开发自测相关

  1. Quality Tools for Android
    Android测试及自测工具集合和示例
    项目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android

  2. android-test-kit
    Google的Android测试工具
    包括GoogleInstrumentationTestRunner(增强版的InstrumentationTestRunner)和Espresso(用于快速写出可靠测试用例的API)
    项目地址:https://code.google.com/p/android-test-kit/
    文档介绍:https://code.google.com/p/android-test-kit/w/list

  3. robolectric
    测试用例编写框架
    项目地址:https://github.com/robolectric/robolectric
    Demo地址:https://github.com/robolectric/robolectricsample
    文档介绍:http://robolectric.org/
    特点:(1). 不需要模拟器在一般JVM就可以运行测试用例
    (2). 能完成在真机上的大部分测试包括感应器
    其他的测试用例及相关模块Mock可见:android-mockmockitoeasy-mock

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

  5. BoundBox
    可用于测试类各种访问权限的属性、方法。实际是通过BoundBox这个annotation生成一个属性和方法都是public权限的中间类并对此类进行测试完成的
    项目地址:https://github.com/stephanenicolas/boundbox

  6. Hugo
    用于打印函数信息及执行时间的工具,仅在debug模式生效
    项目地址:https://github.com/JakeWharton/hugo

  7. scalpel
    在应用下面添加一层用于界面调试,待详细补充 // TODO
    项目地址:https://github.com/JakeWharton/scalpel

  8. Android Screenshot library
    Android截图工具类,用于在持续集成时截图
    项目地址:https://github.com/rtyley/android-screenshot-lib

  9. sonar-android-lint-plugin
    将android lint的错误在sonar中展现
    项目地址:https://github.com/SonarCommunity/sonar-android

三、测试工具

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

  2. Tencent APT
    APT是腾讯开源的一个Android平台高效性能测试组件,提供丰富实用的功能,适用于开发自测、定位性能瓶颈;测试人员完成性能基准测试、竞品对比测试
    项目地址:https://github.com/stormzhang/APT

  3. Emmagee
    网易开源的性能测试工具,包括CPU、内存、网络流量、启动时间、电池状态等
    项目地址:https://github.com/NetEase/Emmagee

  4. Android py-uiautomator
    py-uiautomator是一个对Android uiautomator用python进行封装的测试框架.
    项目地址:https://github.com/xiaocong/uiautomator

四、开发及编译环境

  1. Buck
    facebook开源的Android编译工具,效率是ant的两倍。主要优点在于:
    (1) 加快编译速度,通过并行利用多核cpu和跟踪不变资源减少增量编译时间实现
    (2) 可以在编译系统中生成编译规则而无须另外的系统生成编译规则文件
    (3) 编译同时可生成单元测试结果
    (4) 既可用于IDE编译也可用于持续集成编译
    (5) facebook持续优化中
    项目地址:https://github.com/facebook/buck

  2. Android Maven Plugin
    Android Maven插件,可用于对android三方依赖进行管理。在J2EE开发中,maven是非常成熟的依赖库管理工具,可统一管理依赖库。
    项目地址:https://github.com/jayway/maven-android-plugin

  3. umeng-muti-channel-build-tool
    渠道打包工具
    项目地址:https://github.com/umeng/umeng-muti-channel-build-tool
    另可参见Google的构建系统Gradle:http://tools.android.com/tech-docs/new-build-system/user-guide

  4. Genymotion
    目前最好用最快的android模拟器
    项目地址:http://www.genymotion.com/
    Android studio集成控件: http://plugins.jetbrains.com/plugin/7269?pr=idea
    Cyril Mottier推荐:http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/

  5. gradle-mvn-push
    方便的将Gradle的Artifacts上传到Maven仓库
    项目地址:https://github.com/chrisbanes/gradle-mvn-push
    文档介绍:https://github.com/chrisbanes/gradle-mvn-push#usage

  6. Android Emulator Plugin for Jenkins
    Android模拟器 jenkins插件,用于Jenkins做持续集成时跑模拟器测试
    项目地址:https://github.com/jenkinsci/android-emulator-plugin

  7. Android Maven Plugin
    管理应用所需要的依赖库。包括的构建工具有Maven、Gradle、ant、sbt
    项目地址:https://github.com/mosabua/maven-android-sdk-deployer

  8. SDK Manager Plugin
    下载和管理Android SDK的Gradle插件
    项目地址:https://github.com/JakeWharton/sdk-manager-plugin

  9. Gradle Protobuf Plugin
    将.proto文件转换成Java文件的gradle插件
    项目地址:https://github.com/andrewkroh/gradle-protobuf-plugin

五、其他

  1. ViewServer
    允许app运行在任何手机上都可以用HierarchyViewer查看
    项目地址:https://github.com/romainguy/ViewServer

  2. GridWichterle for Android
    在整个系统上显示一个grid,用来帮助查看应用布局及使得布局更美观,可设置grid网格大小和颜色,android推荐48dp和8dp,可见 Android Design Guidelines – Metrics and Grids
    项目地址:https://github.com/inmite/android-grid-wichterle
    APK地址:https://play.google.com/store/apps/details?id=eu.inmite.android.gridwichterle
    PS:比起hierarchyviewer相差甚远,不过偶尔可用来作为布局查看工具。

  3. Catlog
    手机端log查看工具,支持不同颜色显示、关键字过滤、级别过滤、进程id过滤、录制功能等
    项目地址:https://github.com/nolanlawson/Catlog
    在线演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat

  4. PID Cat
    根据package查看logcat日志
    项目地址:https://github.com/JakeWharton/pidcat

  5. ACRA
    应用崩溃信息上报到GoogleDoc工具,网页版展现结果三方开源地址https://github.com/BenoitDuffez/crashreportsviewer
    项目地址:https://github.com/ACRA/acra
    文档地址:https://github.com/ACRA/acra/wiki/BasicSetup

  6. Crashlytics
    提供丰富的应用崩溃信息收集
    轻量级,丰富,可自定义应用崩溃信息收集器,附有邮件通知
    项目地址:http://www.crashlytics.com/
    集成插件:Android Studio, Eclipse and IntelliJ

  7. Android Resource Navigator
    chrome插件,可以方便的查看github上android源码工程的styles.xml和themes.xml。主要功能:
    (1) 快速打开android styles.xml themes.xml
    (2) 方便在资源间跳转。styles.xml themes.xml文件中资源链接跳转,可以方便跳转到某个资源
    (3) 方便查找某个style和theme。chrome地址栏输入arn+tab+搜索内容回车即可
    (4) 自动下载不同分辨率下的drawable
    (5) 通过映射查找那些不是按照固定命名规则命名的style和theme
    项目地址:https://github.com/jgilfelt/android-resource-navigator
    在线演示:https://chrome.google.com/webstore/detail/android-resource-navigato/agoomkionjjbejegcejiefodgbckeebo?hl=en&gl=GB

  8. android-resource-remover
    根据lint的提示删除项目中无用的资源,减少包的大小
    项目地址:https://github.com/KeepSafe/android-resource-remover

  9. Telescope
    通过手势截图以特定主题发送到特定邮箱地址报告Bug
    项目地址:https://github.com/mattprecious/telescope

  10. Complete Android Fragment & Activity Lifecycle
    完整的Android Fragment/Activity生命周期图
    项目地址:https://github.com/xxv/android-lifecycle

第五部分

主要介绍那些乐于分享并且有一些很不错的开源项目的个人和组织。Follow大神,深挖大神的项目和following,你会发现很多。

一、个人

  1. JakeWharton
    就职于Square,绝对牛逼的大神,项目主要集中在Android版本兼容,ViewPager及开发工具上
    Github地址:https://github.com/JakeWharton
    代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager, scalpel
    pidcat另外对square及其他开源项目有很多贡献
    主页:http://jakewharton.com/

  2. Chris Banes
    Github地址:https://github.com/chrisbanes
    代表作:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
    主页:http://chris.banes.me/

  3. Koushik Dutta
    就职于ClockworkMod
    Github地址:https://github.com/koush
    代表作:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外对https://github.com/CyanogenMod 的开源项目有很多贡献
    主页:http://koush.com/

  4. Simon Vig
    Github地址:https://github.com/SimonVT
    代表作:android-menudrawer,MessageBar
    主页:http://simonvt.net/

  5. Manuel Peinado
    Github地址:https://github.com/ManuelPeinado
    代表作:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader

  6. Emil Sj?lander
    Github地址:https://github.com/emilsjolander
    代表作:StickyListHeaders,sprinkles,android-FlipView
    主页:http://emilsjolander.se/

  7. greenrobot
    Github地址:https://github.com/greenrobot
    代表作:greenDAO,EventBus
    主页:http://greenrobot.de/

  8. Jeff Gilfelt
    Github地址:https://github.com/jgilfelt
    代表作:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
    主页:http://jeffgilfelt.com

  9. Romain Guy
    Android team成员(2013.10已离开Android team,仍在Google)
    Github地址:https://github.com/romainguy
    代表作:ViewServer
    主页:http://www.curious-creature.org/category/android/
    個人攝影作品:http://www.flickr.com/photos/romainguy

  10. sephiroth74
    就职于Aviary.com
    Github地址:https://github.com/sephiroth74
    代表作:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
    主页:http://www.sephiroth.it/

  11. Cyril Mottier
    Google开发者专家认证,发布一些Android技巧及文章
    Github地址:https://github.com/cyrilmottier
    代表作:GreenDroid,Polaris
    主页:http://cyrilmottier.com/

二、组织

  1. Square
    有态度有良心的企业,很多不错的分享
    Github地址:https://github.com/square
    代表作:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等
    主页:http://square.github.io/

  2. Inmite s.r.o.
    Github地址:https://github.com/inmite
    代表作:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
    主页:http://www.inmite.eu/

三、博客

    1. Chet Haase
      Android framework UI team 成员
      主页:http://graphics-geek.blogspot.com/

Android高手速成--第四部分 开发工具及测试工具的更多相关文章

  1. Android高手速成

    第一部分 个性化控件(View)    http://www.cnblogs.com/huwei0814/p/3796659.html 第二部分 工具库    http://www.cnblogs.c ...

  2. 纯 Java 开发 WebService 调用测试工具(wsCaller.jar)

    注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService ...

  3. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  4. iTOP-4412开发板-can测试工具使用文档

    本文档介绍如何使用 can 工具测试 can. 给用户提供了“can_libs.rar”以及“can_tools.zip”压缩包,分别是 can 工具需要的库 文件和 can 工具二进制文件. 注意开 ...

  5. 软件测试_测试工具_APP测试工具_对比

    以下是我自己整理的APP测试工具对比,各个工具相关并不全面.尤其关于收费一项,我只是针对自己公司的实际情况进行对比的,每个工具还有其他收费套餐可以选择,详情可进入相关官网进行查看 以下是部分官网链接: ...

  6. Android高手速成--第二部分 工具库

    主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过依赖注入减少Vie ...

  7. Android高手速成--第一部分 个性化控件(View)

    第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Pro ...

  8. Android高手速成--第三部分 优秀项目

    主要介绍那些Android还不错的完整项目,目前包含的项目主要依据是项目有意思或项目分层规范比较好.Linux项目地址:https://github.com/torvalds/linuxAndroid ...

  9. Android中Activity的四种开发模式

    Activity的四种启动模式:standard.singleTop.singleTask.singleInstance   清单文件中的Activity配置使用:android:launchMode ...

随机推荐

  1. linux 文件系统结构及命令

    1.linux 文件系统结构 / 根目录 root |--mnt/ | |--sdcard/  挂载点 | |--usb0 | |--cdrom |--home | |--soft01 <- 用 ...

  2. 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?

    来源:微信公众号CodeL 今天给大家分享的内容基于前几天收到的一条留言信息,留言内容是这样的: 看了这位网友的留言相信有不少刚接触开发的童鞋们也会有同样的困惑,除了用新建类作为桥梁之外还有什么好的办 ...

  3. 【2016-11-1】【坚持学习】【Day16】【MongoDB】【复制集 分片】

    Mongodb 两种集群方式 复制集 通常是一主一从,一主多从 mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各 ...

  4. 洛谷P2964 [USACO09NOV]硬币的游戏A Coin Game

    题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...

  5. HTML5中支持新的媒体元素有这些

    HTML5对媒体的支持性很强,支持以下媒体元素: · audio  定义音频 · video  定义视频 · embed  作为外部应用的容器 · source  多种媒体源的支持 · track   ...

  6. Linux下部署docker记录(1)-Volume使用

    之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文 ...

  7. 深入理解JVM内幕(转)

    转自:http://blog.csdn.net/zhoudaxia/article/details/26454421/ 每个Java开发者都知道Java字节码是执行在JRE((Java Runtime ...

  8. ASP.NET WebForm中异步请求防止XSRF攻击的方法

    在ASP.NET MVC中微软已经提供了如何防止跨域攻击的方法.对于传统Webfrom中使用Handler来接受ajax的Post请求数据,如何来防止XSRF攻击呢.这里给大家提供一个简单地方法,和M ...

  9. HTML5的postMessage使用记要

    HTML5提出了一个新的用来跨域传值的方法,即postMessage(这个名字太通俗了所以你最好看看是不是自己写过一个同名的把它覆盖了).幸运的是IE8就开始支持了. 我们假设有两个网站,1.com与 ...

  10. 浅谈微信小程序

    在如火如荼的互联网技术发展中,各种各样的框架出现,当下最受关注的应该就是微信小程序了.从新闻论坛乃至qq群.微信群,很多很多从事IT工作的朋友喜欢讨论研究这个小程序.带着好奇心,我也参与其中. 第一步 ...