標籤:
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
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 是一個開源、跨平台的自動化測試載入器,用於測試原生和輕量行動裝置 App,支援 iOS, Android 和 FirefoxOS 平台。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 架構,使用 Selenium 的 WebDriver JSON 協議。
Calabash-android
calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試架構。Calabash 允許你寫和執行,是開源的自動化行動裝置 App測試載入器,支援 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的互動測試,互動包括大量的終端使用者活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和案頭環境的互動跟觸控螢幕應用的互動是不同的。Calabash 專為觸控螢幕裝置的原生應用提供 APIs。
Monkey
Monkey 是 Google 開發的 UI/應用測試載入器,也是命令列工具,主要針對壓力測試。你可以在任意的模擬器樣本或者裝置上運行。Monkey 發送一個使用者事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。
MonkeyTalk
MonkeyTalk 是世界上最強大的行動裝置 App測試載入器。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 原生應用的 使用者介面自動化測試架構。測試使用 Selenium 2 用戶端 API 編寫。Selendroid 可以在模擬器和實際裝置上使用,也可以整合網格節點作為縮放和並行測試。
Spoon
可用於android不同機型裝置自動化測試,能將應用apk和測試apk運行在不同機器上並產生相應測試報告。
項目地址:https://github.com/square/spoon
Android FEST
提供一些列方便的斷言,可用於提高編寫Android自測代碼效率
項目地址:https://github.com/square/fest-android
Mac軟體推薦
- Dash ,文檔搜尋工具,配合Alfred使用,可以快速查看API文檔。
- Alfred,效率工具,功能較SpotLight更為強大。
- SourceTree,Mac上好用的Git管理工具,方便的管理Git倉庫。
- CleanMyMac,強大的系統清理工具,可以清理系統垃圾並卸載App。
- Pocket,稍後閱讀。
- Atom,GitHub出品的強大文本工具。
- Unibox,郵件用戶端,基於使用者名稱稱管理郵件。
- Parallels Desktop,虛擬機器,效能彪悍,功能強大。
- OneNote,微軟良心產品,筆記工具。
- 印象筆記,知識管理工具。
- 馬克飛象 好用的 MarkDown 編輯工具,可以將筆記同步到印象筆記。
- Kindle,亞馬遜電子書閱讀器。
原文:http://codingfish.top/2015/07/07/android-developer-tools-list/
Android 常用開發工具以及Mac常用軟體