dex2oat
时,当参数为--art-fd=13
时,会有* .art文件,然后应用程序崩溃。
当参数为--art-fd=-1,
时,没有* .art文件,则app运行正常。
我想知道什么是艺术档案。有人帮忙吗?
我用十六进制编辑器打开* .art文件,这个文件不是ELF文件,标题是" oat \ n109"。 OAT文件是ELF文件。这个文件可能是由三星创建的。
答案 0 :(得分:0)
我的猜测是你通过混淆器/收缩器运行你的字节码导致无效的dex代码。对于这样的代码,dalvik vm比艺术更宽松。在运行时运行时,代码的OAT编译版本可能会崩溃。当您使用dex2oat
运行--art-fd=-1
时,它可能不会写任何内容导致Android运行时回退到简单地执行dex代码。只是一个猜测。