0

我用的是三星ROM,在使用的时候安装了一个apk dex2oat,当参数为 时--art-fd=13,有一个*.art 文件,然后应用程序崩溃。当参数--art-fd=-1,没有 *.art 文件时,应用程序运行正常。

我想知道什么是艺术文件。有人帮忙吗?

我用十六进制编辑器打开 *.art 文件,这个文件不是 ELF 文件,标题是“oat\n109”。OAT 文件是一个 ELF 文件。这个文件可能是由三星创建的。

4

1 回答 1

0

我的猜测是您正在通过混淆器/收缩器运行字节码,从而导致无效的 dex 代码。dalvik vm 对此类代码比艺术更宽松。您的代码的 OAT 编译版本在由 android 运行时执行时可能会崩溃。当您使用它运行dex2oat时,--art-fd=-1它可能不会写出任何内容,导致 android 运行时回退到简单地执行 dex 代码。只是一个猜测。

于 2016-02-20T06:38:10.140 回答