Android5.0在安装应用时使用dex2oat将dex文件转换为oat文件。但是在我的手机上只能找到boot.oat,转换后的oat文件的具体路径在哪里?我想要一个用于调查。 最佳答案 实际上我在下面的文档中找到了答案。Dex2oat–Ex:/system/bin/dex2oat--zip-fd=6--zip-location=/system/app/Email.apk--oat-fd=7--oat-location=/data/dalvik-cache/system@app@Email.apk@classes.dex--pro
转自:https://blog.csdn.net/linxinfa/article/details/107669242dex、vdex、.odex与.oat文件介绍1、dex文件在我们写Java代码的时候,生成的文件是.java文件。对于PC上的java虚拟机(JVM)运行的是.class。.java文件转成.class文件,需要jdk工具,转换命令:javacxxxx.java关于JVM虚拟机为了使代码和平台无关,JAVA开发了JVM,即Java虚拟机。它为每一个平台开发一个JVM,也就意味着JVM是和平台相关的。Java编译器将.java文件转换成.class文件,也就是字节码。最终将字节
Google正在从Dalvik迁移到ART(Android运行时)。我试图了解它将如何提高性能。我找到的最好的解释是下图:其中一个发生变化的主要组件是dexopt到dex2oat。由于我对这些不太了解,谁能解释其中的区别以及这将如何提高性能? 最佳答案 dexopt对dex文件做了一些优化。它会使用包含被调用方法的vtable索引的优化版本替换虚拟调用指令,这样它就不必在执行期间执行方法查找。dexopt的结果是一个odex(优化的dex)文件。这和原始的dex文件非常相似,只是它使用了一些优化的操作码,比如优化的调用虚拟指令。de
Google正在从Dalvik迁移到ART(Android运行时)。我试图了解它将如何提高性能。我找到的最好的解释是下图:其中一个发生变化的主要组件是dexopt到dex2oat。由于我对这些不太了解,谁能解释其中的区别以及这将如何提高性能? 最佳答案 dexopt对dex文件做了一些优化。它会使用包含被调用方法的vtable索引的优化版本替换虚拟调用指令,这样它就不必在执行期间执行方法查找。dexopt的结果是一个odex(优化的dex)文件。这和原始的dex文件非常相似,只是它使用了一些优化的操作码,比如优化的调用虚拟指令。de
在使用AndroidART和在应用程序安装过程中创建的“native”代码文件.oat/.elf时,我确实注意到了一些奇怪的事情。据我了解,如果设备使用的是ART(Android>=5.0),应用程序将从编译的oat文件(/data/dalvik-cache/arm64/)开始。这就是为什么我在检查应用程序的已用fd时并没有在那里找到该文件时感到有点惊讶。那里只列出了普通的apk(/data/app//base.apk)。检查我的“ls-l/proc/PID/fd”的这个输出所以我想也许它只是没有列在那里。所以我通过使用dex2oat工具编译另一个classes.dex自己交换了那个应
我写了一个Android应用程序,到目前为止运行良好。然后我添加了GoogleCloudMessaging(GCM)的功能。我使用了Google的演示项目,它似乎添加了分析和应用索引等。现在启动应用程序会按预期工作,但会花费很多时间。日志显示了许多这样的消息:I/dex2oat:----------------------------------------------------I/dex2oat::STARTING...I/dex2oat::Zipisabsent.Canceled.I/dex2oat:/system/bin/dex2oat--runtime-arg-classpa
最近在GooglePlay中更新我的应用程序后,我开始收到很多崩溃报告,所有这些报告都是来自搭载Android5的三星设备。较低的android版本可以正常工作,其他制造商的Android5设备也可以正常工作。我没有可以重现该问题的任何设备,因此无法一分为二。我试图从崩溃报告和self上一个工作版本以来的更改列表中推断出可能出现的问题(不幸的是,它很长)。所有的崩溃报告都是这样的(只是地址在设备之间略有不同):Buildfingerprint:'samsung/kltektt/kltektt:5.0/LRX21T/G900KKTU1BOB1:user/release-keys'Revi
我们知道Dalvik使用APK、DEX和ODEX文件。我们知道这个缩写意味着通过AOSP源或开发者网站。(像这样-https://source.android.com/devices/tech/dalvik/dex-format.html)DEX表示Dalvik可执行文件。ODEX表示优化的DalvikEXcutable文件。APK表示Android包。ART(AndroidRunTime)使用了OAT和ART,但它们并没有在任何地方解释其含义。有人知道这些缩写词的含义吗? 最佳答案 OfAheadTime,愚蠢地重新排序Ahead