安卓开发一直在用大公司的开源库,下面来整理一下与安卓开发有关的库。

一、阿里巴巴

(一)UI有关

1. 多页面切换场景统一解决方案 UltraViewPager

UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,主要是为多页面切换场景提供统一解决方案。

主要功能:

  1. 支持横向滑动/纵向滑动2. 支持一屏内显示多页3. 支持循环滚动4. 支持定时滚动,计时器使用 Handler 实现5. 支持设置 ViewPager 的最大宽高6. setRatio 按比例显示 UltraviewPager7. 内置 indicator ,只需简单设置几个属性就可以完成展示,支持圆点和 Icon;8. 内置两种页面切换动效
复制代码

2.vlayout   vlayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。

默认通用布局实现,解耦所有的View和布局之间的关系: Linear, Grid, 吸顶, 浮动, 固定位置等。

LinearLayoutHelper: 线性布局
GridLayoutHelper: Grid布局, 支持横向的colspan
FixLayoutHelper: 固定布局,始终在屏幕固定位置显示
ScrollFixLayoutHelper: 固定布局,但之后当页面滑动到该图片区域才显示, 可以用来做返回顶部或其他书签等
FloatLayoutHelper: 浮动布局,可以固定显示在屏幕上,但用户可以拖拽其位置
ColumnLayoutHelper: 栏格布局,都布局在一排,可以配置不同列之间的宽度比值
SingleLayoutHelper: 通栏布局,只会显示一个组件View
OnePlusNLayoutHelper: 一拖N布局,可以配置1-5个子元素
StickyLayoutHelper: stikcy布局, 可以配置吸顶或者吸底
StaggeredGridLayoutHelper: 瀑布流布局,可配置间隔高度/宽度
复制代码

github地址:vlayout

(二)框架有关

1. Android 应用热修复工具 AndFix

AndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 "Android hot-fix" 的缩写。   AndFix 支持 Android 2.3 - 6.0,ARM 和 x86 架构,dalvik 运行时和 art 运行时。AndFix 的分支是 .apatch 文件。

(一)AndFix 方法体取代实现规则:

 (二)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 项目地址,底层依赖于 vlayout 和 UltraViewPager。

特点:

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

二、腾讯

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

三、百度

百度关于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,全面升级后,变得更加灵巧优雅。

四、网易

1. Android性能测试工具 Emmagee

Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。   支持SDK:Android2.2以及以上版本

Emmagee功能介绍

    1、检测当前时间被测应用占用的CPU使用率以及总体CPU使用量2、检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量3、检测应用从启动开始到当前时间消耗的流量数4、测试数据写入到CSV文件中,同时存储在手机中5、可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息6、在浮窗中可以快速启动或者关闭手机的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兼容。

五、新浪

六、华为

##七、小米 ##八、360

[原创]国内大公司开源的安卓有关的库(持续更新中 )相关推荐

  1. 【2021最新】各大公司招聘官网链接汇总(持续更新中)

    序号 公司名称 招聘官网 1 阿里巴巴 https://job.alibaba.com/zhaopin/index.htm 2 腾讯 https://careers.tencent.com/jobop ...

  2. 开源工业缺陷数据集汇总,持续更新中(已更新28个)

    欢迎大家关注我的公众号:一刻AI 本文目前汇总了常见的28个开源工业缺陷数据集,持续更新中 (欢迎大家留言补充,共同建设一个为大家提供便利的文章) 东北大学热轧带钢表面缺陷数据集 官方链接:Visio ...

  3. 南昌二中高考2021成绩查询,2020年江西南昌各大高中学校高考喜报出炉,持续更新中……...

    7月23日,江西省2020高考成绩出炉,文理科状元皆来自南昌. 2020年江西省高考状元 文科:杨诗雨 分数:671分 学校:江科附中 理科:尹天骥 分数:705分 学校:南昌二中 目前,南昌各高中学 ...

  4. 关于大数据相关的问答汇总,每天持续更新中哦~

    NO.1 想要学好大数据需掌握哪些技术? 答:1,Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统 ...

  5. SpringBoot面试题大汇总附答案,SpringBoot面试题-持续更新中

    2021最新SpringBoot面试题[附答案解析]SpringBoot面试题及答案2021,SpringBoot2021最新面试题及答案,SpringBoot面试题新答案已经全部更新完了,有些答案是 ...

  6. 大数据组件的各种协议与作用(持续更新中)

    协议 作用 spark:// spark的standalone模式 hdfs:// 分布式文件集群 hiveserver2 beeline连接的前提 thrift/thrift2 python连接hb ...

  7. python实现最大独立集算法_2018校招总结(外企,国内大公司,国内创业公司)...

    2018校招总结(外企,国内大公司,国内创业公司) 本篇是我参加2018实习和校招的求职经历,实习和校招面了不少公司,就总结了笔试面试中遇到的一些问题和思考. 实习offer有网易互娱,今日头条,Hu ...

  8. python中ht表示什么_如何看待某国内大公司Python面试题,有关dict中初始化为固定值?...

    职业发展 Python 如何看待某国内大公司Python面试题,有关dict中初始化为固定值? 阅读下面的代码,写出A0,A1至A6的最终值. A0 = dict(zip(('a','b','c',' ...

  9. 这些开源项目,你都知道吗?(持续更新中...)[原创]

    原文 这些开源项目,你都知道吗?(持续更新中...)[原创] Json.NET http://json.codeplex.com/ Json.Net是一个读写Json效率比较高的.Net框架.Json ...

最新文章

  1. Android开发环境——Eclipse ADT相关内容汇总
  2. 如何屏蔽PHP浏览器头信息X-Powered-By
  3. MFC为什么要保留原来的CPen, 然后SelectObject
  4. 无状态Spring安全性第1部分:无状态CSRF保护
  5. 查看进程占用,并kill掉
  6. 3.JAVA内存溢出
  7. 极坐标xy的转换_极坐标与直角坐标的转化
  8. 性能优化,进无止境-内存篇(上)
  9. 斗鱼爬取主播相册爬虫函数封装
  10. 网络安全绝地求生-面试题
  11. java货郎担问题求解_货郎担问题(TSP)
  12. ue编辑器c语言语法高亮文件,自己动手做 UEStudio/UltraEdit 的语法高亮文件 (*.uew)...
  13. 异步处理,Event Souring,事务补偿,实现最终一致性和服务的弹性和批处理
  14. EIGRP原理及配置
  15. 如何理解扩张卷积(dilated convolution)
  16. UniAPP-Android原生插件开发与打包
  17. C# 完成WebSocket demo 用GoEasy实现Hello world
  18. EasyNVR H5无插件摄像机直播解决方案前端解析之:监控实时直播的四分屏的前端展示
  19. 我们hive库建表默认是orc格式的,建表必须加 as textfile,否则外部文本数据导不进去,这坑趟过两遍了,妈蛋!
  20. 三元催化器 - 汽车熄火后底盘金属砰砰响 / 啪啪啪 / 哒哒哒的声响 / 异响

热门文章

  1. 【工业智能】从人工智能到工业智能,和工业智能化转型的三个路径
  2. 银河麒麟服务器V10版(AMD) 安装常见服务
  3. C盘与D盘空间的扩充
  4. ROS系统的发展历史
  5. 如何用一个U盘制作winPE、windows、linux、deepin多系统启动盘,并且剩余部分还能继续当U盘使用
  6. 微信小程序抓取网页数据
  7. Oracle Explan
  8. 虚拟机安装夜神模拟器
  9. 服务器怎样拷贝大容量文件,如何从云服务器上拷贝大文件
  10. 升级版王者荣耀铭文多功能助手微信小程序源码下载-支持多种流量主