【问题标题】:samsung rom art file三星rom艺术文件
【发布时间】:2016-02-19 07:29:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: android dex2oat


    【解决方案1】:

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

    【讨论】:

    • 应用程序被混淆器混淆了,但我只删除了*.art文件,崩溃的应用程序运行正常,我知道*.art文件是关键。但删除 *.art 文件需要 root 权限。所以我想知道什么是*.art文件,如何不加载*.art文件,让运行正常。
    • *.art 文件和OAT没有关系,我看android源码。也许 *.art 文件只是压缩文件。
    猜你喜欢
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多