[原創]國內大公司開源的安卓有關的庫(持續更新中 )

安卓開發一直在用大公司的開源庫,下面來整理一下與安卓開發有關的庫。css

1、阿里巴巴

(一)UI有關

1. 多頁面切換場景統一解決方案 UltraViewPagerhtml

UltraViewPager 是阿里開源的一個封裝多種特性的 ViewPager ,主要是爲多頁面切換場景提供統一解決方案。前端

主要功能:java

1. 支持橫向滑動/縱向滑動
  2. 支持一屏內顯示多頁
  3. 支持循環滾動
  4. 支持定時滾動,計時器使用 Handler 實現
  5. 支持設置 ViewPager 的最大寬高
  6. setRatio 按比例顯示 UltraviewPager
  7. 內置 indicator ,只需簡單設置幾個屬性就能夠完成展現,支持圓點和 Icon;
  8. 內置兩種頁面切換動效
複製代碼

 

2.vlayout   vlayout是一個針對RecyclerView的LayoutManager擴展, 主要提供一整套佈局方案和佈局間的組件複用的問題。node

默認通用佈局實現,解耦全部的View和佈局之間的關係: Linear, Grid, 吸頂, 浮動, 固定位置等。react

LinearLayoutHelper: 線性佈局
GridLayoutHelper: Grid佈局, 支持橫向的colspan
FixLayoutHelper: 固定佈局,始終在屏幕固定位置顯示
ScrollFixLayoutHelper: 固定佈局,但以後當頁面滑動到該圖片區域才顯示, 能夠用來作返回頂部或其餘書籤等
FloatLayoutHelper: 浮動佈局,能夠固定顯示在屏幕上,但用戶能夠拖拽其位置
ColumnLayoutHelper: 欄格佈局,都佈局在一排,能夠配置不一樣列之間的寬度比值
SingleLayoutHelper: 通欄佈局,只會顯示一個組件View
OnePlusNLayoutHelper: 一拖N佈局,能夠配置1-5個子元素
StickyLayoutHelper: stikcy佈局, 能夠配置吸頂或者吸底
StaggeredGridLayoutHelper: 瀑布流佈局,可配置間隔高度/寬度
複製代碼

github地址:vlayoutjquery

(二)框架有關

1. Android 應用熱修復工具 AndFixandroid

AndFix 是阿里巴巴開源的 Android 應用熱修復工具,幫助 Anroid 開發者修復應用的線上問題。Andfix 是 "Android hot-fix" 的縮寫。   AndFix 支持 Android 2.3 - 6.0,ARM 和 x86 架構,dalvik 運行時和 art 運行時。AndFix 的分支是 .apatch 文件。ios

(一)AndFix 方法體取代實現規則: git

  (二)Bug 修復過程:
  (三)使用

1. 生成 .apatch 文件:

usage: apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <***> -a <alias> -e <***>
 -a,--alias <alias>     alias.
 -e,--epassword <***>   entry password.
 -f,--from <loc>        new Apk file path.
 -k,--keystore <loc>    keystore path.
 -n,--name <name>       patch name.
 -o,--out <dir>         output dir.
 -p,--kpassword <***>   keystore password.
 -t,--to <loc>          old Apk file path.
複製代碼

2.合併 .apatch 文件:

usage: apkpatch -m <apatch_path...> -k <keystore> -p <***> -a <alias> -e <***>
  -a,--alias <alias>     alias.
 -e,--epassword <***>   entry password.
 -k,--keystore <loc>    keystore path.
 -m,--merge <loc...>    path of .apatch files.
 -n,--name <name>       patch name.
 -o,--out <dir>         output dir.
 -p,--kpassword <***>   keystore password.
複製代碼

2. 非侵入式運行期 AOP 框架 Dexposed

Dexposed 是阿里巴巴無線事業部第一個重量級 Andorid 開源軟件,基於 ROOT 社區著名開源項目 Xposed 改造剝離了 ROOT 部分,演化爲服務於所在應用自身的 AOP 框架。它支撐了阿里大部分 App 的在線分鐘級客戶端 bugfix 和線上調試能力。   Dexposed 的 AOP 是實現了純非侵入式,沒有任何註釋處理器,weaver 或者字節碼重寫程序。Dexposed 的集成很是簡單,就像加載一個 JNI 庫同樣,只須要在初始化的時候插入一行代碼。

經典用例

1.典型的 AOP 編程
    2.儀表化 (測試,性能監控等等)
    3.在線熱修復(重要,關鍵,安全漏洞等等)
    4.SDK hooking,更好的開發體驗
複製代碼

大體用法:

1.Gradle 依賴:

native_dependencies {
    artifact 'com.taobao.dexposed:dexposed_l:0.2+:armeabi'
    artifact 'com.taobao.dexposed:dexposed:0.2+:armeabi'
}
dependencies {
    compile files('libs/dexposedbridge.jar')
}
複製代碼

2.初始化:

public class MyApplication extends Application {
    @Override public void onCreate() {        
    // Check whether current device is supported (also initialize Dexposed framework if not yet)
    if (DexposedBridge.canDexposed(this)) {
        // Use Dexposed to kick off AOP stuffs.
        ...
    }
}
...
複製代碼

}

基礎使用示例代碼1:

// Target class, method with parameter types, followed by the hook callback (XC_MethodHook).
DexposedBridge.findAndHookMethod(Activity.class, "onCreate", Bundle.class, new XC_MethodHook() {

    // To be invoked before Activity.onCreate().
    @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
        // "thisObject" keeps the reference to the instance of target class.
        Activity instance = (Activity) param.thisObject;

        // The array args include all the parameters.
        Bundle bundle = (Bundle) param.args[0];
        Intent intent = new Intent();
        // XposedHelpers provide useful utility methods.
        XposedHelpers.setObjectField(param.thisObject, "mIntent", intent);

        // Calling setResult() will bypass the original method body use the result as method return value directly.
        if (bundle.containsKey("return"))
            param.setResult(null);
    }

    // To be invoked after Activity.onCreate()
    @Override protected void afterHookedMethod(MethodHookParam param) throws Throwable {
        XposedHelpers.callMethod(param.thisObject, "sampleMethod", 2);
    }
});
複製代碼

基礎使用示例代碼2:

DexposedBridge.findAndHookMethod(Activity.class, "onCreate", Bundle.class, new XC_MethodReplacement() {

    @Override protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
        // Re-writing the method logic outside the original method context is a bit tricky but still viable.
        ...
    }

});
複製代碼

3. Android 容器化框架 Atlas

Atlas 是由阿里巴巴移動團隊自研的手機淘寶安卓客戶端容器化框架,以容器化思路解決大規模團隊協做問題,實現並行開發、快速迭代和動態部署,適用於 Android 4.x 以上系統版本的大小型 App 開發。

Atlas 適用於大規模團隊的協同開發。經過提供組件化、動態性、解耦化的支持,可以實現每一個業務在開發階段獨立編譯、獨立調試、獨立運行,最後再以一個組件的形式集成到客戶端中,每一個業務之間並行開發互不影響。此外,還具有客戶端動態發版和快速修復的能力。

特性:

1. 在工程期,實現工程獨立開發,調試的功能,工程模塊能夠獨立。
    2. 在運行期,實現完整的組件生命週期的映射,類隔離等機制。
    3. 在運維期,提供快速增量的更新修復能力,快速升級。
複製代碼

4. ARouter   一個安卓路由器中間件,幫助應用程序導航到活動和自定義服務。組件化開發能夠用到它。

github地址:ARouter

(三)跨平臺框架有關

1.weex   跨平臺的UI框架

github地址: weex weex的文檔 weex官網

2.Tangram-Android   Tangram是一套動態化構建 Native 頁面的框架,它包含 Tangram Android、Tangram iOS,管理後臺等一些列基礎設施。本工程是 Tangram Android 的sdk 項目地址,底層依賴於 vlayoutUltraViewPager

特色:

1.Android iOS 雙平臺支持,iOS 版本參考開源庫 [Tangram-iOS](https://github.com/alibaba/Tangram-iOS)。
2.經過 json 建立頁面視圖,並提供了默認的解析器。
3.可輕鬆實現頁面視圖的回收與複用。
4.框架提供多種默認的佈局方式。
5.經過 json 數據或代碼支持自定義佈局樣式。
6.高性能,基於 [vlayout](https://github.com/alibaba/vlayout)
7.支持擴展功能模塊
複製代碼

3.LuaViewSDK

(1) LuaViewSDK簡介

  LuaViewSDK是一個跨平臺的框架,旨在構建本地,動態和快速的用戶界面。 它基於Lua VM,並選擇lua做爲腳本語言。
  LuaView 是一種運行在一個 ViewController/Activity 中,能夠靈活加載Lua 腳本,並可以按照 Native 的方式
運行的一種面向業務的開發技術方案。能夠快速開發電商應用中既要求體驗又要求靈活性的頁面功能。例如首頁,類目首頁,
垂直頻道,大促活動會場等。
複製代碼

(2) 背景   LuaViewSDK 主要解決客戶端開發中的兩個常見問題:

1.相同的業務邏輯須要在 iOS 和 Android 平臺各實現一次,除了開發成本高,也會引入體驗的細微差異。
  是否有一種技術方案能夠作到一份代碼,兩個平臺運行,行爲相同 ?
2.移動 APP 開發領域,要極致體驗發佈就不靈活(Native),要靈活發佈就沒有極致體驗(H5)。
  有沒有一種技術方案能夠兼顧極致的體驗和靈活的發佈?LuaView 能夠完美解決上述兩個問題。
複製代碼

(3) 爲什麼使用Lua?

市面上有許多相似的方案,好比React Native和Weex,他們使用了JS框架,配合DSL來進行界面佈局,使用JS引擎進行腳本動態解析,實現了動態化的Native界面渲染能力。LuaViewSDK使用lua虛擬機進行腳本解析,經過構建lua與native之間的一系列基礎bridge功能,從另外一個角度實現了動態化的native能力。

相比於基於JS虛擬機的解決方案,LuaViewSDK選擇的lua有以下優點:

1.lua虛擬機極爲輕量高效。單個lua虛擬機只消耗大約200到300k的內存空間,同屏渲染幾十個LuaView沒有任何負擔
2.lua天生就是做爲一個極其輕量、可嵌入的設計實現,它更適合作API的封裝或是數據傳輸的中間層。
  在App的開發上,更適合做爲膠水語言,來直接操做native對象
3.lua語法精煉,直觀,native開發人員上手基本沒有難度
4.使用native開發人員更爲熟悉的Native編程模式,直接建立和操做各類界面對象
複製代碼

github地址:LuaViewSDK

LuaViewSDK 文檔地址

另外: https://github.com/alibaba/LuaViewPlayground 這個庫是對LuaViewSDK的一個補充,用來向開發者展現如何使用LuaViewSDK的基礎控件、基本功能,以及如何擴展組件。

4.Thera   Thera是由Alibaba.com提供支持的集成開發環境(IDE),旨在改進移動混合解決方案的開發體驗,例如weex,luaview,react native。

github地址: Thera Thera中文文檔

(四)編譯、解析、埋點工具備關

1. freeline(我本人目前用這個用得最多,比自帶的編譯速度快多了)   它是一個Android Studio的插件,能夠在Android Studio的插件庫查找到,下載安裝直接使用。這裏列舉的是阿里巴巴在github的官網源碼。   Freeline 是 Android 平臺上的秒級編譯方案,Instant Run 的替代品,也能夠從 Freeline 官方主頁 來獲取更多的信息。   Freeline 由 螞蟻聚寶 Android 團隊開發,它能夠充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯並部署到設備上,有效地減小了平常開發中的大量從新編譯與安裝的耗時。   Freeline可以爲Android開發者節省不少喝杯咖啡的時間。

功能:

1.支持標準的多模塊 Gradle 工程的增量構建
2.併發執行增量編譯任務
3.進程級別異常隔離機制
4.支持 so 動態更新
5.支持 resource.arsc 緩存
6.支持 retrolambda
7.支持 DataBinding
8.支持各種主流注解庫
9.支持 Windows,Linux,Mac 平臺
複製代碼

github地址:freeline

2. fastjson   Fastjson是一個Java語言編寫的高性能功能完善的JSON庫。它採用一種「假定有序快速匹配」的算法,把JSON Parse的性能提高到極致,是目前Java語言中最快的JSON庫。Fastjson接口簡單易用,已經被普遍使用在緩存序列化、協議交互、Web輸出、Android客戶端等多種應用場景。

github地址: fastjson

3.android_viewtracker   ViewTracker是用於自動化的採集用戶UI交互過程當中的點擊和曝光事件,基於view事件代理及過濾的數據採集庫。

功能:

1.支持`Android`&`iOS`平臺。
2.支持採集點擊事件、曝光事件。
3.支持採集頁面公共信息。
4.支持多個場景:列表滑動,列表自動滾動,頁面內`Window`切換,`Tab`頁切換,進入下一個頁面,應用先後臺切換。
5.支持擴展:數據提交、曝光規則自定義(時間閾值和寬高閾值)、採樣率定義等。
複製代碼

github地址:android_viewtracker

(五)測試、文檔工具備關

1. 移動自動化測試平臺 Athrun

Athrun以Mobile自動化爲基礎,以PC2Mobile爲切入點,是淘寶Mobile測試平常工做必備的平臺。   目前Athrun支持:   1. Android上的自動化測試,包括自動化測試框架,持續集成體系。覆蓋率工具和自動錄製回放工具,也在試用完善中。   2. iOS上的自動化測試,包括注入式自動化框架AppFramework,和基於錄製的非注入式自動化框架Athrun_IOS,還有持續集成體系。目前兩個框架在淘寶測試內都有用戶羣,都還在不斷使用和演進過程當中。AppFramework將會支持socket通訊方式。   AthrunStudio是基於PC2Mobile的移動工做平臺,目前正在開發中。Demo代碼開源,能夠實現PC對手機的遠程控制。

2.接口文檔管理工具 RAP

RAP經過GUI工具幫助WEB工程師更高效的管理接口文檔,同時經過分析接口結構自動生成Mock數據、校驗真實接口的正確性,使接口文檔成爲開發流程中的強依賴。有告終構化的API數據,RAP能夠作的更多,而咱們能夠避免更多重複勞動。

github地址:RAP

3.Macaca   一套完整的自動化測試解決方案

特色:

1.支持移動端和PC端
2.支持 Native, Hybrid, H5 等多種應用類型
3.提供客戶端工具和持續集成服務
複製代碼

github地址:Macaca

2、騰訊

1. 隨身調測平臺 GT   GT(隨身調)是APP的隨身調測平臺,它是直接運行在手機上的「集成調測環境」(IDTE, Integrated Debug Environment)。利用GT,僅憑一部手機,無需鏈接電腦,您便可對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、 開發日誌的查看、Crash日誌查看、網絡數據包的抓取、APP內部參數的調試、真機代碼耗時統計等。若是您以爲GT提供的功能還不夠知足您的須要,您還 能夠利用GT提供的基礎API自行開發有特殊功能的GT插件,幫助您解決更加複雜的APP調試問題。

github地址:GT

2. Frozen UI 移動端UI框架   Frozen UI是一個開源的簡單易用,輕量快捷的移動端UI框架。基於手Q樣式規範,選取最經常使用的組件,作成手Q公用離線包減小請求,升級方式友好,文檔完善,目前全面應用在騰訊手Q增值業務中。

github地址:Frozen UI

3. AlloyTouch   絲般順滑的觸摸運動方案。這是一個給Web app使用的一個庫。這裏麪包含有一個 級聯選擇器

github地址:AlloyTouch 查看文檔請點擊: https://github.com/AlloyTeam/AlloyTouch/wiki

4. AlloyFinger   輕量級的多點觸摸網絡手勢庫,用於web app的一個庫。

github地址:AlloyFinger

5. AlloyCrop   最好且最小的移動裁剪組件,用於web app的一個庫。

github地址:AlloyFinger

6. 組件化框架 Omi 和 Omix   Omi(讀音 / [ˈomɪ] /, 漢字相似於 歐米) 是一款用於建立Web用戶界面的組件化框架,開放而且現代,故得名:Omi。Omi框架提供了漸進加強式的Web開發解決方案,內置完善的支持無限聲明式嵌套的組件系統。

歸納起來包含下面優勢和特性:

1.良好的兼容性 - 兼容IE8及IE8以上版本(要兼容IE8請使用omi.art.js),完美兼容各類手機平版移動Web程序
2.超小的尺寸 - 7 kb (gzip)
3.面向將來的Web架構體系 - 將來DOM很快,並且越來來快! 其實如今DOM已經足夠快了:)
4.不使用虛擬DOM的問題是跨平臺渲染更麻煩,Omi將來將提供`omi-canvas`進行跨平臺渲染
5.ES6+ 和 ES5均可以 - Omi提供了ES6+和ES5的兩種開發方案。你能夠自有選擇你喜好的方式
6.局部CSS - HTML+ Scoped CSS + JS組成可複用的組件。不用擔憂組件的CSS會污染組件外的,Omi會幫你處理好一切
7.模板或指令系統可替換 - 默認使用soda指令系統,開發者能夠重寫Omi.template方法來使用任意模板引擎或者指令引擎
8.徹底面向對象 - 函數式和麪向對象各有優劣,Omi使用徹底的面向對象的方式來構建Web程序。並且支持使用TypeScript來編寫Omi程序
9.更自由的更新 - 每一個組件都有update和updateSelf方法,自由選擇你認爲最佳的更新時機和最佳的更新方式。updateSelf不會更新子組件
10.完善豐富的插件和靈活的插件體系
   omi-router   ====》 Omi專屬的官方Router插件.
   omi-finger   ====》 Omi的[AlloyFinger](https://github.com/AlloyTeam/AlloyFinger)插件,支持各類觸摸事件和手勢
   omi-transform   ====》 Omi的[transformjs](https://alloyteam.github.io/AlloyTouch/transformjs/)插件,快速方便地設置DOM的CSS3 Transform屬性
   omi-touch   ====》 Omi的[AlloyTouch](https://github.com/AlloyTeam/AlloyTouch)插件,Omi項目的觸摸運動解決方案(支持觸摸滾動、旋轉、翻頁、選擇等等)
   omi-jquery-date-picker   ====》 Omi的時間選擇插件,支持各類時間或者時間區域選擇
複製代碼

github地址:Omi

7. 組件化框架Omix   Omix(讀音 / [ˈomɪkɜ:s] /, 漢字相似於 歐米可思) 是一款使用 JSX 建立Web用戶界面的組件化框架,故得名:Omix。它並非用來替代 Omi框架,而是另一種選擇。

歸納起來包含下面優勢和特性:

1.超迅捷的性能,通過測試, 竟然是全部框架第一名, 不信能夠看看[dbmon with omix](https://alloyteam.github.io/omix/example/perfs)。雖然排第一,可是發現還有許多優化空間!!
2.良好的兼容性 - 兼容 IE8,兼容各類手機平版移動 Web 程序
3.超小的尺寸 - 7 kb (gzip)
4.內置支持 JSX 和 hyperscript , 喜歡哪一種方式隨意切換。須要注意 omix 裏寫 JSX 組件標籤要小寫
5.局部CSS - HTML+ Scoped CSS + JS組成可複用的組件。不用擔憂組件的CSS會污染組件外的
6.更自由的更新 - 每一個組件都有 update 方法,自由選擇你認爲最佳的更新時機和最佳的更新方式
7.靈活的插件體系和豐富的插件生態
  omi-router   ====》 Omi專屬的官方Router插件.
  omi-finger   ====》 Omi的[AlloyFinger](https://github.com/AlloyTeam/AlloyFinger)插件,支持各類觸摸事件和手勢
  omi-transform   ====》 Omi的[transformjs](https://alloyteam.github.io/AlloyTouch/transformjs/)插件,快速方便地設置DOM的CSS3 Transform屬性
  omi-touch   ====》 Omi的[AlloyTouch](https://github.com/AlloyTeam/AlloyTouch)插件,Omi項目的觸摸運動解決方案(支持觸摸滾動、旋轉、翻頁、選擇等等)
複製代碼

github地址:Omix

8.JX   JX 是 Javascript eXtension tools 的縮寫,即 Javascript 擴展工具套件的意思。一個相似 Google Closure Library 的 Web 前端開發框架。JX 框架同時適用於 Web Page 和 Web App 項目的開發,特別適合構建和組織大規模、工業級的Web App,騰訊 WebQQ -、騰訊 Q+等產品都是採用JX框架開發,兼容目前全部主流瀏覽器。

特性:

1.微內核設計:內核可徹底分離出來,用於構建其餘的框架
2.原生對象零污染:你懂的,隨着js的App越來約複雜,對原生對象的零污染也體現的愈來愈重要了
3.模塊封包:採用命名空間、閉包等方式創建了模塊封包的體系,幫助更好的組織海量js代碼
4.模塊自由拼裝:自身模塊作了良好的架構分離,儘量讓各個模塊之間能夠自由的拼裝組合
5.無縫集成各類js框架:與jQuery, YUI, Mootools, Prototype.js 等框架無縫集成;與多種局部框架無縫集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等
6.多版本共存:如採用的Jx版本過舊,舊有的Javascript代碼不能與新版本Jx兼容,則能夠採用多版本共存的方式保持程序的可延續性
7.分層設計:Javascript核心層,與Javascript解釋引擎無關的封裝和擴展;瀏覽器端Javascript層,對瀏覽器中的Javascript引擎部分的封裝和擴展
複製代碼

github地址: JX

9. WeTest-Assistant   這是基於手機端的輔助測試工具,目前包括性能測試和遠程調試兩大功能,可以爲手遊等項目發現CPU、內存、FPS等性能問題,並提供雲端真機用於問題在線調試,共計爲公司內外部項目服務5.4萬次;手遊客戶端性能測試經常使用性能維度,CPU,內存,FPS,流量一次性所有收集,圖表化展現,數據可按場景化分類,而且支持離線和在線兩種模式, 地鐵上均可以作測試,Web上看報告。遠程調試配合自研的雲真機技術,支持多點觸控、類手柄遙控,真實還原手遊測試場景,極速流暢、極低延遲, 本地只須要一臺手機便可操控雲端任何一臺手機。支持ROOT和非ROOT安卓手機,支持越獄iOS系統。

10.Tinker   Tinker是是微信官方的Android熱補丁解決方案,它支持動態下發代碼、So庫以及資源,讓應用可以在不須要從新安裝的狀況下實現更新。固然,你也可使用Tinker來更新你的插件。

github地址:Tinker 官方文檔

11.ncnn   ncnn 是一個爲手機端極致優化的高性能神經網絡前向計算框架。ncnn 從設計之初深入考慮手機端的部署和使用。無第三方依賴,跨平臺,手機端 cpu 的速度快於目前全部已知的開源框架。基於 ncnn,開發者可以將深度學習算法輕鬆移植到手機端高效執行,開發出人工智能 APP,將 AI 帶到你的指尖。ncnn 目前已在騰訊多款應用中使用,如 QQ,Qzone,微信,每天P圖等。

功能:

1.支持卷積神經網絡,支持多輸入和多分支結構,可計算部分分支
2.無任何第三方庫依賴,不依賴 BLAS/NNPACK 等計算框架
3.純 C++ 實現,跨平臺,支持 android ios 等
4.ARM NEON 彙編級良心優化,計算速度極快
5.精細的內存管理和數據結構設計,內存佔用極低
6.支持多核並行計算加速,ARM big.LITTLE cpu 調度優化
7.總體庫體積小於 500K,並可輕鬆精簡到小於 300K
8.可擴展的模型設計,支持 8bit 量化和半精度浮點存儲,可導入 caffe 模型
9.支持直接內存零拷貝引用加載網絡模型
10.可註冊自定義層實現並擴展
複製代碼

github地址:ncnn

12.RapidView   RapidView是一套用於開發Android客戶端界面、邏輯以及功能的開發組件。佈局文件(XML)及邏輯文件(Lua)能夠運行時執行,主要用以解決Android客戶端界面、邏輯快速更新以及快速開發的訴求。RapidView的XML語法規則與Android原生XML相似,而寫邏輯的Lua部分除語言語法規則外,能夠直接使用咱們提供的Java API以及Android原生API,所以熟悉Android客戶端開發的開發者上手成本會很是小。

github地址:RapidView 官方文檔

13. QMUI Android(QMUI是騰訊的一個團隊,web,ios,android三平臺都有對應的工具,這裏列舉的是Android)   QMUI Android 的設計目的是用於輔助快速搭建一個具有基本設計還原效果的 Android 項目,同時利用自身提供的豐富控件及兼容處理,讓開發者能專一於業務需求而無需耗費精力在基礎代碼的設計上。無論是新項目的建立,或是已有項目的維護,都可使開發效率和項目質量獲得大幅度提高。

QMUI Android 官網:http://qmuiteam.com/android/page/index.html QMUI Android Github源碼查看:https://github.com/QMUI/QMUI_Android

3、百度

百度關於web的開源庫不少,關於移動端的庫不多。

1. Android自動化測試框架 Cafe   Cafe 測試框架是一款來自百度QA部門的具備開創性意義的Android平臺的自動化測試框架,框架覆蓋了Android自動化測試的各類需求。框架致力於實現跨進程測試、快速測試、深度測試,解決了Android自動化測試中的諸多難題,好比業界一直沒有解決的跨進程測試問題。

2. GMU   GMU(Global Mobile UI)是百度前端通用組開發的移動端組件庫,具備代碼體積小、簡單、易用等特色,組件內部處理了不少移動端的bug,覆蓋機型廣,能大大減小開發交互型組件的工做量,很是適合移動端網站項目。 該組件基於zepto的mobile UI組件庫,提供webapp、pad端簡單易用的UI組件!

3. 移動WebApp開發框架 Cloudajs   Clouda是基於node.js的Webapp開發框架,在使用Clouda時須要安裝node.js和MongoDB。 【注】原雲端一體框架Cloudajs(Sumeru)改名爲 RapidJS,全面升級後,變得更加靈巧優雅。

4、網易

1. Android性能測試工具 Emmagee

Emmagee是監控指定被測應用在使用過程當中佔用機器的CPU、內存、流量資源的性能測試小工具。   支持SDK:Android2.2以及以上版本

Emmagee功能介紹

一、檢測當前時間被測應用佔用的CPU使用率以及整體CPU使用量
    二、檢測當前時間被測應用佔用的內存量,以及佔用的整體內存百分比,剩餘內存量
    三、檢測應用從啓動開始到當前時間消耗的流量數
    四、測試數據寫入到CSV文件中,同時存儲在手機中
    五、能夠選擇開啓浮窗功能,浮窗中實時顯示被測應用佔用性能數據信息
    六、在浮窗中能夠快速啓動或者關閉手機的wifi網絡
複製代碼

2. Android測試自動化框架 Robotium

Robotium是一個Android測試自動化框架,全面支持本機和混合應用。 Robotium能夠輕鬆地爲Android應用程序編寫強大而強大的自動黑盒UI測試。 在Robotium的支持下,測試用例開發人員能夠編寫功能,系統和用戶驗收測試場景,跨越多個Android Activities。

3. pomelo-androidclient

pomelo-androidclient這是一個用於java和android的pomelo socket.io客戶端。該項目基於socket.io-java-client。pomelo-androidclient是Android的易於使用的pomelo客戶端,它也與JRE兼容。

5、新浪

6、華爲

##7、小米 ##8、360

相關文章
相關標籤/搜索