Android高手速成--第四部分 開發工具及測試工具

第四部分 開發工具及測試工具

主要介紹和Android開發工具和測試工具相關的開源項目。java

1、開發效率工具

  1. Json2Java
    根據JSon數據自動生成對應的Java實體類,還支持Parcel、Gson Annotations對應代碼自動生成。期待後續的提取父類以及多url構建整個工程的功能
    項目地址:https://github.com/jonfhancock/JsonToJava
    在線演示:http://jsontojava.appspot.com/python

  2. IntelliJ Plugin for Android Parcelable boilerplate code generation
    Android studio插件,生成Parcelable代碼
    項目地址:https://github.com/mcharmas/android-parcelable-intellij-plugin
    效果圖:Holo Colors Ideaandroid

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

  4. Android Drawable Factory
    用於生成各個分辨率的圖片
    項目地址:https://github.com/tizionario/AndroidDrawableFactory
    效果圖:Android Drawable Factorygithub

  5. SelectorChapek for Android
    Android Studio插件,可根據固定文件名格式資源自動生成drawable selectors xml文件。
    項目地址:https://github.com/inmite/android-selector-chapekweb

  6. Android Action Bar Style Generator
    Android ActionBar樣式生成器,可在線選擇ActionBar樣式自動生成所須要的圖片資源及xml文件
    項目地址:https://github.com/jgilfelt/android-actionbarstylegenerator
    在線演示:http://jgilfelt.github.io/android-actionbarstylegenerator/sql

  7. ButterKnifeZelezny
    用於快速生成ButterKnifeView注入代碼的Android Studio/IDEA插件
    項目地址:https://github.com/inmite/android-butterknife-zeleznychrome

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

  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/

2、開發自測相關

  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

3、測試工具

  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

4、開發及編譯環境

  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

5、其餘

  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、我的

  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/

2、組織

  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/

3、博客

    1. Chet Haase
      Android framework UI team 成員
      主頁:http://graphics-geek.blogspot.com/
相關文章
相關標籤/搜索