Ⅰ oat是什么简称
Operational Acceptance Testing 的缩写
Ⅱ 请问手机的OAT功能是什么呢.多谢
是OTA吧
一种手机等终端应用的“空中下载”技术,利用这种技术用户可以通过下载来修补终端的漏洞或升级某些功能。DoOnGo公司的“DeltaUpgrade”软件在此方面领先。
DoOnGo技术公司与日本手机厂商夏普、NEC和松下签署了许可证协议。日本运营商NTTDoCoMo也将使用DoOnGo公司的OTA软件。
Over-The-Air.
一项基于短消息机制,通过手机终端或服务器(网上)方式实现SIM卡内业务菜单的动态下载、删除与更新,使用户获取个性化信息服务的数据增值业务(简称OTA业务)
OTA(Over-the-Air Technology)空中下载技术.
是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。这样,应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务,如信息点播、互动娱乐、位置服务以及银行交易等。通过OTA空中下载技术,手机用户只要进行简单操作,就可以按照个人喜好把网络所提供的各种业务菜单利用OTA机制下载到手机中,并且还可以根据自己的意愿定制具体业务。
Ⅲ 如何反编译 android 中 /data/dalvik-cache/arm 下的文件
所有的 apk 内包含一个 classes.dex 文件。在 Dalvik上,apk包里的 dex文件在安装的时候会通过 dexopt 转化成另一个格式,叫odex(Opitimized dex),然后存在 /data/dalvik-cache里面,如:
/data/dalvik-cache/data@[email protected]@classes.dex
虽然文件后缀还是 .dex,但是这个dex和apk内的那个已经不一样了。这个文件是针对当前机器的硬件对 dex 文件进行了定制化,也就是说把这个放到别的设备上,不一定能运行。
PS: 在要编译 rom 的时候,如果参数加上 "WITH_DEXPREOPT=true",会在 /system/app/ 下同时生成 .apk 和 .odex 文件(注意,这里后缀又用的 .odex,但实际上和系统在 /data/dalvik-cache/ 下的 .dex文件是一样的)
ART
在 ART上,apk 包里的 dex文件在安装的时候通过 dex2oat,也会生成一个后缀为 .dex 的文件,放在 /data/dalvik-cache中,如:
/data/dalvik-cache/arm/system@app@[email protected]@classes.dex
/data/dalvik-cache/arm64/system@vendor@app@[email protected]@classes.dex
这个文件后缀叫 .dex ,但是这个文件又不一样了,这个既不是 dex 也不是 odex,用 dex2jar 的无法进行反编译的。文件格式也完全不同,因为这其实就是一个实打实的 elf文件,这个文件已经可以直接在机器上运行了。
为何 pm.jar 是空的?
首先来了解一下 ROM 的编译选项,看一下编译的时候能做什么事情, 大致了解就行了 。
编译选项
WITH_DEXPREOPT
使能编译时生成 OAT,避免第一次开机时编译耗时,但会增大 system分区的空间消耗
DONT_DEXPREOPT_PREBUILTS
使能后,将不会对 Android.mk中包含了 include $(BUILD_PREBUILT)的 Apk进行 oat,例如 Gmail,它很可能会在后期通过商店自行升级,而升级后系统中的 oat文件则没有意义了,但又无法删除,会造成空间的浪费(oat比dex文件要大)
WITH_DEXPREOPT_BOOT_IMG_ONLY
仅仅针对 boot.img进行oat优化(boot.img中包含 boot.art和 boot.oat)
LOCAL_DEX_PREOPT ture|false|nostripping
可用于各个 Android.mk,对每个 package进行单独配置,当设置为 true时,dex文件将会从 apk中剔除,如果不想剔除可使用 nostripping WPRODUCT _DEX PREOPT_*
WPRODUCT__DEX_PREOPT_*
PRODUCT_DEX_PREOPT_BOOT_FLAGS
这里的参数将会传至 dex2oat,控制 boot.img的编译优化行为。
PRODUCT_DEX_PREOPT_DEFAULT_FLAGS
控制除 boot.img 外,其他(如 jar, apk)的 OAT编译行为 例如:
PRODUCT_DEX_PREOPT_DEFAULT_FLAGS := --compiler- filter=interpret-only
$(call add-proct-dex-preopt-mole- config,services,--compiler-filter=space)
WITH_DEXPREOPT_PIC ture|false
使能 position-independent code,这样在dex2oat编译生成的 odex文件在运行时将不必再从 /system 下拷贝到 /data/dalvik-cache/ 目录下, 可以节省 /data 空间
WITH_ART_SMALL_MODE true|false
设置为 true 时,将只编译处于 boot classpath 里的类,其他的均不编译,这样既能加快第一次开机时间,因为大部分必要的类已经编译过了; 同时也能节省不少空间,因为 APP 都未进行编译。缺点是可能损失一性能,这可能要平时觉察不出,但在跑分软件上会有所体现
编译选项的经典配置
为了提高第一次开机速度,WITH_DEXPREOPT是必须使能的,这样则在编译阶段会完成 dex2oat的操作,避免在开机时间去做这个转码,节省了开机时间(6min以上缩短2min内)。
但会引起一个缺点,那就是 apk中还是包含了 class.dex(dexopt生成的),同时在对应的apk文件夹中又生成了已经转码成oat的 class.odex(dex2oat生成的),相当于这部分重复,造成了大量的空间浪费。
为了把 apk包里的 class.dex去除,节省空间,可以打开 DEX PREOPT DEFAULT := ture。
然而,这样开机速度是快了,而且节省了不少system空间,但开机后,我们会发现即使在 system中已经存在 class.odex的 apk,第一次开机后还是会在 /data下面生成 class.odex,如data/dalvik-cache/arm64/system@app@[email protected]@classes.dex,这是何解?原来 Google为了提高安全性,在每一台机器开机时都会在之前的机器码加一个随机的偏移量,这个偏移量是随机的,每台机器都不相同,而 data分区下的这些文件就是从 system下的 class.odex加上偏移而来。
Ⅳ Origin教程丨一文教你快速绘制20种常用图
Origin是每一位科研工作者最常用的数据绘图软件之一,具备统计、峰值分析和曲线拟合等分析功能,可以绘制出二维和三维图形。
一、绘制线(Line)图
二、绘制误差棒图
三、绘制散点图
四、绘制垂线图
五、绘制气泡图
六、绘制彩色点图
七、绘制彩色气泡图
八、绘制点线图
九、绘制柱形图
十、绘制条形图
十一、绘制浮动柱形图
十二、绘制浮动条形图
十三、绘制饼图
十四、绘制Y轴错位堆垒曲线图
十五、绘制二维瀑布图
十六、绘制面积图
十七、绘制堆垒面积图
十八、绘制填充面积图
十九、绘制局部放大图
二十、绘制含数据标签图
一、绘制线图
示例准备:
导入 Graphing文件夹中的 AXES.OAT文件数据。
① 选中B列。
② 单击菜单命令【Plot】→【Line】→【Line】或2D Graphs工具栏的【Line】。
2D Graphs工具栏:
如下图所示:
二、绘制误差棒图形
在Book1数据空白处,单击右键,选择“Add New Column ”,增加2列新的数据单元格“C(Y)”和“D(Y)”两列数据。
如下图所示:
将计算得到的X轴数据,平均值,2列标准偏差分别输入origin的Book1数据表中,然后选中标准偏差所在列的数据,右键单击,选择”set as“,将“C(Y)列数据设置为“ Xerror ”,将“D(Y)列数据设置为“ Y error ”将如下图所示:
三、绘制散点图
选中数据,点击点击“Plot”——“Symbol”。
或者直接点击下面的工具栏选项。
各个选项的意思:
Scatter(散点图); Scatter Central(中心散点图); Y Error(Y 误差); XY Error(XY 误差) Vertical Drop Line (垂线);Bubble (气泡);Color Mapped (彩标);Bubble + CM (气泡+彩标) 。
① 选择Scatter,做出的图形如下:
② 选择Scatter Central,做出的图形如下:
③ 选择Vertical Drop Line ,做出的图形如下:
④ 选择 Bubble ,做出的图形如下:
⑤ 选择Color Mapped ,做出的图形如下:
⑥ 选择 Bubble + CM,做出的图形如下:
四、绘制垂线图
示例准备:
导入 Graphing文件夹中的 AXES .DAT文件数据。
① 选中B列。
② 单击菜单命令【Plot】→【Symbol】→【Vertical Drop Line】或2D Graphs工具栏【Vertical Drop Line】按钮。
五、绘制气泡图
数据要求:
用于作图的数据包含两个数值型Y列(第1个Y列设定气泡纵向位置,第2个Y列用于设定气泡的大小)。
示例准备:
导入 Curve Fitting文件中的 Gaussian.dat文件数据。
① 选中B、C两列。
② 单击菜单命令【Plot】→【Symbol】→【Bubble】或 2D Graphs工具栏上的【Bubble】按钮。
六、绘制彩色点图
数据要求:
用于作图的数据包含两个数值型Y列(第1个Y列设定点的纵向位置,第2个Y列用于设定点的颜色)。
示例准备:
导入 Curve Fitting文件中的 Gaussian.dat文件数据。
① 选中B、C两列。
② 单击菜单命令【Plot】→【Symbol】→【Color Mapped】或2D Graphs工具栏上的【Color Map】按钮。
七、绘制彩色气泡图
数据要求:
用于作图的数据包含两个数值型Y列(第1个Y列设定气泡的纵向位置,第2个Y列用于设定气泡的大小和颜色)。
示例准备:
导入 Curve Fitting文件中的 Gaussian.dat文件数据。
① 选中B、C两列。
② 单击菜单命令【Plot】→【Symbol】→【Bubble+Color Mapped】或2D Graphs工具栏上的【Bubble+Color Mapped】按钮。
八、绘制点线图
数据要求:
用于作图的数据包含一个或多个Y列。
示例准备:
导入 Graphing文件夹中的AXES.DAT文件数据。
① 选中B列。
②单击菜单命令【Plot】→【Line+Symbol】→【Line+Symbol】或2D Graphs工具栏上的Line+Symbol】按钮。
九、绘制柱形图
数据要求:
用于作图的数据为数值型可包含一个或多个Y列。
示例准备:
导入 Graphing文件夹中的AXES.DAT文件数据。
① 选中B列。
②单击菜单命令【Plot】→【Column/Bar/Pie】→【Column】或2D Graphs工具栏的【Column】按钮。
十、绘制条形图
数据要求:
用于作图的数据为数值型可包含一个或多个Y列。
示例准备:
导入 Graphing文件夹中的 AXES.DAT文件数据。
① 选中B列。
② 单击菜单命令【Plot】→【Column/Bar/Pie】→【Bar】或2D Graphs工具栏的【Bar】按钮。
十一、绘制浮动柱形图
数据要求:
用于作图的数据为数值型且包含多个Y列。
示例准备:
导入 Graphing文件夹中的 Group . DAT文件数据。
① 选中所有的Y列。
② 单击菜单命令【Plot】→【Column/Bar/Pie】→【Floating Column】或2D Graphs工具栏的【Floating Column】按钮。
十二、绘制浮动条形图
数据要求:
用于作图的数据为数值型且包含多个Y列。
示例准备:
导入 Graphing文件夹中的 Group . DAT文件数据。
① 选中所有的Y列。
② 单击菜单命令【Plot】→【Column/Bar/Pie】→【Floating Bar】或2D Graphs工具栏的【Floating Column】按钮。
十三、绘制饼图
数据要求:
用于作图的数据为数值型且包含多个Y列。
示例准备:
导入 Graphing文件夹中的 3D Pie Chart . dat文件数据。
① 选中所有的B列。
② 单击菜单命令【Plot】→【Column/Bar/Pie】→【3D Color Pie Chart】。
十四、绘制Y轴错位堆垒曲线图
Y轴错位堆垒曲线图将多条曲线在单个图层上从上到下堆垒并将其纵轴(y轴)做适当的错位,特别适合绘制多条包含多个峰的曲线图形。
数据要求:
包含多个数值型Y列。
示例准备:
导入 Curve fitting文件夹中的 Multiple Peaks.dat
① 选中所有的Y列。
② 单击菜单命令【Plot】→【Multi-Curve】→【Stack Lines by Y Offsets】或2D Graphs工具栏的【Stack Lines by Y Offsets】按钮。
本例如果绘制线图,则结果如下图所示:
十五、绘制二维瀑布( Waterfall)图
二维瀑布图将多条曲线在单个图层上按前后顺序排列并将它们向右上方做适当的错位,以便清晰地显示各曲线细微差别,特别适合绘制多条包含多个峰又极其相似的曲线图形。
数据要求:
包含多个数值型Y列。
示例准备:
导入 Graphing文件夹中 Waterfall.dat文件数据。
① 选中前6个Y列(也可以选中所有Y列,这里只是为了更清晰显示)。
②单击菜单命令【Plot】→【Multi- Curve】→【Waterfall】或2D Graphs工具栏的【Waterfall】按钮。
十六、绘制面积图
数据要求:
用于作图的数据包含一个或多个数值型Y列。
示例准备:
导入 Graphing文件夹中的 AXES.DAT文件数据。
① 选中所有的Y列。
② 单击菜单命令【Plot】→【Area】→【Area】或2D Graphs工具栏【Area】按钮。
十七、绘制堆垒面积( Stock Area)图
数据要求:
用于作图的数据为数值型且包含多个Y列。
示例准备:
导入 Graphing文件夹中的 Group.dat文件数据。
① 选中所有的Y列。
② 单击菜单命令
【Plot】→【Area】→【Stock Area】或2D Graphs工具栏的【Stock Area】按钮。
十八、绘制填充面积( Fill Area)图
数据要求:
用于作图的数据为数值型且包含2个Y列。
示例准备:
导入 Graphing文件夹中的 Group.dat文件数据。
① 选中2个的Y列。
② 单击菜单命令【Plot】→【Area】→【Fill Area】或2D Graphs工具栏的【Fill Area】按钮。
(特殊二维图形绘制)
十九、绘制局部放大(Zoom)图
数据要求:
用于作图的数据包含一个或多个相同因变量的Y列。
示例准备:
导入 Spectros文件夹中的 Peaks with Base.dat文件数据。
① 选中B列。
② 单击菜单命令【Plot】→【Specialized】→【Zoom】或2D Graphs工具栏上的【Zoom】按钮,初步绘制结果如图所示。
③ 将图层1中的放大区域选取框拖动到要放大的区域。
④ 单击放大区域选取框,通过8个黑色控制柄可以调整选取框的大小。
(含标签、误差棒图形绘制)
二十、绘制含数据标签(Label)图
如果需要在图形数据上加注标签(如数据或其他标识等),则需要绘制含数据标签图形。
数据要求:
用于作图的数据包含Y列和标签列。
示例准备:
① 导入Graphing文件夹中的3D Pie Chart.dat文件数据。
② 添加一个列,然后将B列数据复制到C列。
绘图步骤:
① 选中C列将其设置为标签列。
② 选中B、C两列,然后单击菜单命令【Plot】→【Column/Bar/Pie】→【Bar】或2D Graphs工具栏上的【Bar】按钮。