主要介紹和Android開發工具和測試工具相關的開源項目。java
Json2Java
根據JSon數據自動生成對應的Java實體類,還支持Parcel、Gson Annotations對應代碼自動生成。期待後續的提取父類以及多url構建整個工程的功能
項目地址:https://github.com/jonfhancock/JsonToJava
在線演示:http://jsontojava.appspot.com/python
IntelliJ Plugin for Android Parcelable boilerplate code generation
Android studio插件,生成Parcelable代碼
項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
效果圖:android
Android Holo Colors IntelliJ Plugin
Android studio插件,生成holo樣式9 patch圖片
項目地址:https://github.com/jeromevdl/android-holo-colors-idea-plugin
效果圖:git
Android Drawable Factory
用於生成各個分辨率的圖片
項目地址:https://github.com/tizionario/AndroidDrawableFactory
效果圖:github
SelectorChapek for Android
Android Studio插件,可根據固定文件名格式資源自動生成drawable selectors xml文件。
項目地址:https://github.com/inmite/android-selector-chapekweb
Android Action Bar Style Generator
Android ActionBar樣式生成器,可在線選擇ActionBar樣式自動生成所須要的圖片資源及xml文件
項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/sql
ButterKnifeZelezny
用於快速生成ButterKnifeView注入代碼的Android Studio/IDEA插件
項目地址:https://github.com/inmite/android-butterknife-zeleznychrome
RoboCoP
利用Gradle task根據固定格式的json文件生成ContentProvider
項目地址:https://github.com/mediarain/RoboCoPjson
appiconsizes
用於生成各個分辨率的圖片
項目地址:http://www.appiconsizes.com/網絡
Gradle Retrolambda Plugin
Retrolambda是將Java8的Lambdas應用於Java7的工具,本項目是Gradle插件,經過Retrolambda從而使Java或Android項目用Java8的Lambdas編寫,將編譯後的字節碼轉換爲Java6和7的字節碼從而正常運行
項目地址:https://github.com/evant/gradle-retrolambda
Dagger IntelliJ Plugin
dagger的intellij插件
項目地址:https://github.com/square/dagger-intellij-plugin
Android Gen Drawable Maven plugin
在編譯時根據SVG描述文件生成不一樣分辨率的jpg、png或點9圖片
項目地址:https://github.com/avianey/androidgendrawable-maven-plugin
Android Asset Studio
各類Android資源自動生成器,包括啓動圖標、ActionBar圖標、通知欄圖標、點9等
項目地址:https://github.com/romannurik/AndroidAssetStudio
在線演示:http://romannurik.github.io/AndroidAssetStudio/
Quality Tools for Android
Android測試及自測工具集合和示例
項目地址:https://github.com/stephanenicolas/Quality-Tools-for-Android
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
robolectric
測試用例編寫框架
項目地址:https://github.com/robolectric/robolectric
Demo地址:https://github.com/robolectric/robolectricsample
文檔介紹:http://robolectric.org/
特色:(1). 不須要模擬器在通常JVM就能夠運行測試用例
(2). 能完成在真機上的大部分測試包括感應器
其餘的測試用例及相關模塊Mock可見:android-mock, mockito, easy-mock
Android FEST
提供一些列方便的斷言,可用於提升編寫Android自測代碼效率
項目地址:https://github.com/square/fest-android
BoundBox
可用於測試類各類訪問權限的屬性、方法。實際是經過BoundBox這個annotation生成一個屬性和方法都是public權限的中間類並對此類進行測試完成的
項目地址:https://github.com/stephanenicolas/boundbox
Hugo
用於打印函數信息及執行時間的工具,僅在debug模式生效
項目地址:https://github.com/JakeWharton/hugo
scalpel
在應用下面添加一層用於界面調試,待詳細補充 // TODO
項目地址:https://github.com/JakeWharton/scalpel
Android Screenshot library
Android截圖工具類,用於在持續集成時截圖
項目地址:https://github.com/rtyley/android-screenshot-lib
sonar-android-lint-plugin
將android lint的錯誤在sonar中展示
項目地址:https://github.com/SonarCommunity/sonar-android
Spoon
可用於android不一樣機型設備自動化測試,能將應用apk和測試apk運行在不一樣機器上並生成相應測試報告。
項目地址:https://github.com/square/spoon
Tencent APT
APT是騰訊開源的一個Android平臺高效性能測試組件,提供豐富實用的功能,適用於開發自測、定位性能瓶頸;測試人員完成性能基準測試、競品對比測試
項目地址:https://github.com/stormzhang/APT
Emmagee
網易開源的性能測試工具,包括CPU、內存、網絡流量、啓動時間、電池狀態等
項目地址:https://github.com/NetEase/Emmagee
Android py-uiautomator
py-uiautomator是一個對Android uiautomator用python進行封裝的測試框架.
項目地址:https://github.com/xiaocong/uiautomator
Buck
facebook開源的Android編譯工具,效率是ant的兩倍。主要優勢在於:
(1) 加快編譯速度,經過並行利用多核cpu和跟蹤不變資源減小增量編譯時間實現
(2) 能夠在編譯系統中生成編譯規則而無須另外的系統生成編譯規則文件
(3) 編譯同時可生成單元測試結果
(4) 既可用於IDE編譯也可用於持續集成編譯
(5) facebook持續優化中
項目地址:https://github.com/facebook/buck
Android Maven Plugin
Android Maven插件,可用於對android三方依賴進行管理。在J2EE開發中,maven是很是成熟的依賴庫管理工具,可統一管理依賴庫。
項目地址:https://github.com/jayway/maven-android-plugin
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
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/
gradle-mvn-push
方便的將Gradle的Artifacts上傳到Maven倉庫
項目地址:https://github.com/chrisbanes/gradle-mvn-push
文檔介紹:https://github.com/chrisbanes/gradle-mvn-push#usage
Android Emulator Plugin for Jenkins
Android模擬器 jenkins插件,用於Jenkins作持續集成時跑模擬器測試
項目地址:https://github.com/jenkinsci/android-emulator-plugin
Android Maven Plugin
管理應用所須要的依賴庫。包括的構建工具備Maven、Gradle、ant、sbt
項目地址:https://github.com/mosabua/maven-android-sdk-deployer
SDK Manager Plugin
下載和管理Android SDK的Gradle插件
項目地址:https://github.com/JakeWharton/sdk-manager-plugin
Gradle Protobuf Plugin
將.proto文件轉換成Java文件的gradle插件
項目地址:https://github.com/andrewkroh/gradle-protobuf-plugin
ViewServer
容許app運行在任何手機上均可以用HierarchyViewer查看
項目地址:https://github.com/romainguy/ViewServer
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相差甚遠,不過偶爾可用來做爲佈局查看工具。
Catlog
手機端log查看工具,支持不一樣顏色顯示、關鍵字過濾、級別過濾、進程id過濾、錄製功能等
項目地址:https://github.com/nolanlawson/Catlog
在線演示:https://play.google.com/store/apps/details?id=com.nolanlawson.logcat
PID Cat
根據package查看logcat日誌
項目地址:https://github.com/JakeWharton/pidcat
ACRA
應用崩潰信息上報到GoogleDoc工具,網頁版展示結果三方開源地址https://github.com/BenoitDuffez/crashreportsviewer
項目地址:https://github.com/ACRA/acra
文檔地址:https://github.com/ACRA/acra/wiki/BasicSetup
Crashlytics
提供豐富的應用崩潰信息收集
輕量級,豐富,可自定義應用崩潰信息收集器,附有郵件通知
項目地址:http://www.crashlytics.com/
集成插件:Android Studio, Eclipse and IntelliJ
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
android-resource-remover
根據lint的提示刪除項目中無用的資源,減小包的大小
項目地址:https://github.com/KeepSafe/android-resource-remover
Telescope
經過手勢截圖以特定主題發送到特定郵箱地址報告Bug
項目地址:https://github.com/mattprecious/telescope
Complete Android Fragment & Activity Lifecycle
完整的Android Fragment/Activity生命週期圖
項目地址:https://github.com/xxv/android-lifecycle
主要介紹那些樂於分享而且有一些很不錯的開源項目的我的和組織。Follow大神,深挖大神的項目和following,你會發現不少。
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/
Chris Banes
Github地址:https://github.com/chrisbanes
表明做:ActionBar-PullToRefresh,PhotoView,Android-BitmapCache,Android-PullToRefresh
主頁:http://chris.banes.me/
Koushik Dutta
就任於ClockworkMod
Github地址:https://github.com/koush
表明做:Superuser,AndroidAsync,UrlImageViewHelper,ion, 另外對https://github.com/CyanogenMod 的開源項目有不少貢獻
主頁:http://koush.com/
Simon Vig
Github地址:https://github.com/SimonVT
表明做:android-menudrawer,MessageBar
主頁:http://simonvt.net/
Manuel Peinado
Github地址:https://github.com/ManuelPeinado
表明做:FadingActionBar,GlassActionBar,RefreshActionItem,QuickReturnHeader
Emil Sj?lander
Github地址:https://github.com/emilsjolander
表明做:StickyListHeaders,sprinkles,android-FlipView
主頁:http://emilsjolander.se/
greenrobot
Github地址:https://github.com/greenrobot
表明做:greenDAO,EventBus
主頁:http://greenrobot.de/
Jeff Gilfelt
Github地址:https://github.com/jgilfelt
表明做:android-mapviewballoons,android-viewbadger,android-actionbarstylegenerator,android-sqlite-asset-helper
主頁:http://jeffgilfelt.com
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
sephiroth74
就任於Aviary.com
Github地址:https://github.com/sephiroth74
表明做:ImageViewZoom,HorizontalVariableListView,AndroidWheel,purePDF
主頁:http://www.sephiroth.it/
Cyril Mottier
Google開發者專家認證,發佈一些Android技巧及文章
Github地址:https://github.com/cyrilmottier
表明做:GreenDroid,Polaris
主頁:http://cyrilmottier.com/
Square
有態度有良心的企業,不少不錯的分享
Github地址:https://github.com/square
表明做:okhttp、fest-android,android-times-square、picasso、dagger、spoon等等
主頁:http://square.github.io/
Inmite s.r.o.
Github地址:https://github.com/inmite
表明做:android-styled-dialogs,android-grid-wichterle,android-selector-chapek
主頁:http://www.inmite.eu/