проблемы восстановления apk

Я всегда использую apktool для декомпиляции файла apk, и, как вы знаете, название некоторых ресурсов выглядит очень странно, вот так: <attr name="do" format="string" />. когда он был декомпилирован.

вопрос заключается в следующем: при перестроении папки, содержащей этот файл ресурсов, а затем возникает ошибка, сообщение об ошибке выглядит следующим образом: «ошибка: недопустимый символ: «сделать»» или error: invalid symbol: 'if'.

По этой причине я прочитал исходный код apktool и обнаружил, что эти сообщения об ошибках не выдаются apktool, а выдаются aapt при выполнении кода: OS.exec(cmd.toArray(new String[0])); в пакете brut.androlib.res в его AndroidLibResources.java файле. Итак, я думаю, что Google забыл обработать эти исключения, потому что слова «если» и «делать» также являются ключевыми словами самого популярного языка программирования, и есть ли у кого-нибудь такая же проблема со мной? надеюсь на вашу помощь.


person krisliu    schedule 18.03.2015    source источник


Ответы (1)


Это ошибка в aapt, поэтому вы видите ошибку в этой строке в apktool. В основном такие символы, как do и if, имеют особое значение. aapt следует игнорировать это и относиться к ним буквально, но проверка слишком сильна.

Вы можете ознакомиться с отчетом об ошибках AOSP здесь.

person Connor Tumbleson    schedule 12.04.2015