0

I used Samsung ROM, install a apk when it used dex2oat, when parameter is --art-fd=13, there is a *.art file, then app crash. when parameter is --art-fd=-1, there is not a *.art file, then app runs normal.

I want to know what is art file. anybody help?

I open the *.art file with hex editor, this file is not a ELF file, header is "oat\n109". OAT file is a ELF file. this file maybe is created by Samsung.

zhengwei
  • 41
  • 5

1 Answers1

0

My guess is that you're running your byte-code though an obfuscator/shrinker resulting in invalid dex code. The dalvik vm is more lenient than art is about such code. The OAT compiled version of your code is likely crashing when executed by the android runtime. When you run dex2oat with --art-fd=-1 it probably doesn't write anything out causing the android runtime to fall back to simply executing the dex code. Just a guess.

dcow
  • 7,765
  • 3
  • 45
  • 65
  • the app is obfuscated by obfuscator, but I only delete the *.art file, the crashed app runs normal , I know the *.art file is key. but detele the *.art file needs root authority. so I want to know what is *.art file, how to no load *.art file , let run normal. – zhengwei Feb 21 '16 at 08:12
  • *.art file is no relationship with OAT, I watch the android source. maybe *.art file is just compressed file. – zhengwei Feb 21 '16 at 08:15