Sep 02

De temps en temps, on trouve une superbe application sur le Market AndroidW mais on n’aime pas une traduction ou une image…

On peut alors écrire au développeur et espérer qu’il prenne en considération notre demande. En général, ça se passe plutôt bien (y)
De même, on trouve une application qui est en anglais et on la voudrait en français… Lorsque cela m’arrive, voila comment je procède :

  • Je récupère l’APK sur mon PC (ES File Explorer, MyPhoneExplorer, …)
  • Je la décompile
  • Je modifie les fichiers XML contenant les chaînes en anglais pour les remplacer par des chaînes en français
  • Je recompile l’application
  • Je désinstalle l’application d’origine
  • J’installe l’application recompilée
  • Je valide que les chaînes ne sont pas trop longues pour les composants qui les affichent
  • Lorsque cela me convient, j’envoie les fichiers XML au développeur pour qu’il intègre ma traduction dans une prochaine version…

Les rares fois où je l’ai fait, les développeurs étaient ravis d’obtenir une traduction clé en main (lol)

Mais pour décompiler et recompiler une application… comment fait-on ?

J’utilise un programme OpenSource qui est disponible depuis ce site, Apktool.
Comme prérequis à ce qui va suivre, je spécifie qu’un SDK Android doit être installé (et donc Java). Ce n’est peut-être pas obligatoire, mais comme c’est le cas dans mon installation, je vais, au cas où, dire que c’est nécessaire. |-(

Puisque le SDK d’Android est installé, nous devons avoir le fichier aapt.exe qui se trouve dans le sous-répertoire platform-tools de votre installation.

On télécharge les fichiers apktool* et apktool-install-windows* de cette page.

On extrait le contenu des archives dans le répertoire de son choix. Par exemple, R:\apktool\

On va ensuite modifier la variable système d’environnement Path. Pour cela, on peut passer par (sous Windows 7) :

  • Panneau de configuration\Tous les Panneaux de configuration\Système
  • Click droit sur Ordinateur, Propriétés

Puis on clique sur Paramètres système avancés.
On clique sur le bouton Variables d’environnement… de l’onglet Paramètres système avancés.

Propriétés Système

Propriétés Système


Dans la seconde liste, Variables système, on se positionne sur Path et on la modifie (bouton Modifier… ou double-clique).
Variables d'environnement

Variables d'environnement


A la fin des valeurs déjà présentes, on ajoute les deux répertoires nécessaires :

  • le chemin complet vers le sous-répertoire platform-tools
  • le chemin complet vers le répertoire où on a extrait les fichiers, dans mon exemple, R:\apktool\
Path

Path

L’environnement est prêt. Il ne reste plus qu’à s’en servir (lol)

Share

Pages : 1 2

Lien permanent vers Modifier des ressources dans un APK Rédigé par Whiler \\ Tags : ,

23 réponses pour “Modifier des ressources dans un APK”

Commentaires précédents
 
  1. Whiler a dit :

    @ pillou : Salut,

    Quelle est la suite dans la fenêtre de commandes ?
    (sous building apk file…)

    Répondre

  2. pillou a dit :

    D:\ok je c’est pas ou il ya un problem.
    Ps une fois que mon fichier decompile mon apk je le supprime

    Répondre

  3. Whiler a dit :

    @ pillou :

    Si tout ce passe bien, l’application recompilée a été créée dans le sous-répertoire dist

    Répondre

  4. pillou a dit :

    Bonsoir

    c’est encore moi Quand je traduis, mon strings.xml J’ai des erreur.il me prend pas les mot avec les accent et les apostrophe avez vous une solution SVP merci

    Répondre

  5. Whiler a dit :

    @ pillou : il faut encoder les caractères accentués en Unicode… les apostrophes doivent être préfixées par un \

    Répondre

  6. pillou a dit :

    merci pour votre réponse.Si j’ai bien compris
    Je fais comme ceci,

    1
    Gestionnaire d\'applications par d\éfaut

    Répondre

  7. Whiler a dit :

    Oui et non…

    Pour l’apostrophe, c’est bon…
    Mais pas pour les caractères accentués…

    Je n’ai pas la syntaxe exacte en tête… Vous pouvez par exemple décompiler une appli qui contient une version française avec des accents pour avoir des exemples….

    Répondre

  8. Whiler a dit :

    @ pillou : je viens de faire un test…

    Normalement, si vous écrivez ceci, cela devrait fonctionner :

    1
    <string name="blahblah">Gestionnaire d\'applications par défaut</string>

    L’encodage du fichier doit être en UTF-8 (Avec le bloc-note, en cliquant le sous-menu « Fichier/Enregistrer sous… », vérifiez que le codage est bien UTF-8).

    Vous pouvez également regarder le paragraphe Formatting and Styling de la documentation Android. Vous y trouverez des exemples de ce qu’il faut et ne faut pas faire…

    Répondre

Commentaires précédents
 

Laisser une réponse

(requis)

(requis)

*

Notifiez-moi les commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.

;) (lol) (y) |-( (hi) 8-) (angel) :s (clap) (bow) (tmi) (:| plus »