2015-03-18 2 views
0

J'utilise toujours apktool pour décompiler le fichier apk, et, vous savez, le nom de certaines ressources semble très étrange, comme ceci: <attr name="do" format="string" />. quand il a été décompilé. La question est: lors de la reconstruction du dossier qui contient ce fichier de ressources, puis, une erreur se produit, le message d'erreur aime ceci: "erreur: symbole invalide:" faire "" ou error: invalid symbol: 'if'.les problèmes de reconstruction apk

de cause, j'ai lu le code source de apktool, et je trouve que ces messages d'erreur ne sont pas jeter par apktool, mais jette par AAPT quand exécute le code: OS.exec(cmd.toArray(new String[0])); dans le paquet brut.androlib.res dans son fichier AndroidLibResources.java. Donc, je pense que le google a oublié de gérer ces exceptions, parce que les mots "si" et "faire" sont aussi les mots-clés du langage de programmation le plus populaire, et est-ce que quelqu'un a rencontré le même problème avec moi? J'espère que votre (s) aide.

Répondre

0

Ceci est un bogue dans aapt, c'est pourquoi vous voyez l'erreur sur cette ligne dans apktool. Fondamentalement, des symboles comme do et if ont une signification particulière. aapt devrait ignorer cela et les traiter littéralement, mais la validation est un peu trop forte.

Vous pouvez suivre le rapport de bogue AOSP here.