2016-02-19 6 views
0

Я использовал Samsung ROM, установил apk , когда он использовал dex2oat, когда параметр --art-fd=13, есть файл * .art, а затем авария приложения. , когда параметр равен --art-fd=-1,, нет файла * .art, затем приложение запускается нормально.samsung rom art файл

Я хочу знать, что такое художественный файл. кто-нибудь поможет?

Я открываю файл * .art с шестнадцатеричным редактором, этот файл не является файлом ELF, заголовок «oat \ n109». OAT-файл - это файл ELF. Возможно, этот файл создан Samsung.

ответ

0

Я предполагаю, что вы используете свой байт-код, хотя обфускатор/сжимающая машина приводит к недействительному коду dex. Далвик vm более мягкий, чем искусство, о таком коде. Скомпилированная версия OAT вашего кода, скорее всего, сбой при исполнении среды выполнения android. Когда вы запускаете dex2oat с --art-fd=-1, он, вероятно, ничего не пишет, в результате чего время выполнения андроида возвращается к простому выполнению кода dex. Просто догадка.

+0

приложение запутано obfuscator, но я только удаляю * .art-файл, разбитое приложение работает нормально, я знаю, что файл * .art является ключевым. но detele * .art-файл нуждается в полномочиях root. поэтому я хочу знать, что такое * .art-файл, как не загружать * .art-файл, пусть работает нормально. – zhengwei

+0

* .art file нет отношений с OAT, я смотрю источник android. Возможно, файл * .art - это просто сжатый файл. – zhengwei