Bonsoir tout le monde
Après m'être cassé plusieurs fois les dents, j'ai enfin quelques informations à partager avec vous dans ce présent post qui, comme le titre l'indique, parle de ce que j'ai compris des mod (pour modding) des applications au format apk...
Avant de commencer, je souhaiterais souligner que ceci n'est pas un mode opératoire afin de décompiler sauvagement le travail d'autres développeurs pour mettre sa signature! Je vous remercie d'avance de respecter leur travail =) Pour l'instant, les mod que j'apporte sont essentiellement graphiques afin d'avoir un ensemble cohérent sur mon téléphone. Mais c'est tout. Pour ce qui est du modding comportemental et/ou évènementiel, je puis vous assurer qu'en contactant le développeur il se fera un plaisir de faire évoluer son application si la demande est pertinente et légitime (je les contacte souvent d'ailleurs en ce sens).
Bref, merci pour eux.
Donc si vous souhaitez toujours faire du modding de l'UI de votre application, vous aurez besoin des pré-requis suivants :
- APK Manager 4.9
- Java (préférez le JDK au JRE, ce dernier englobe le runtime)
- Android SDK
Normalement le JDK et/ou JRE sont déjà installés sur la plupart des machines de nos jours, l'android SDK est nécessaire pour le shell adb si vous préférez passer par ce dernier pour remettre vos apk sur vos DHD. Bien que je l'ai sur mon petit PC, ce n'est pas comme ça que je m'en sers.
Ces deux pré-requis passés, déziper l'APK Manager à un endroit à votre convenance.
Pour la facilité de lecture ici, nous le placerons à la racine du C ainsi nommé C:\apk_manager_4.9.
Vous y trouverez les dossiers suivants :
- other
- place-apk-here-for-modding
- place-apk-here-for-signing
- place-apk-here-to-batch-optimize
- place-ogg-here
- projects
- Script.bat
Au départ, en principe, vous n'aurez que ces différents fichiers, le fichier log.txt sera généré par la suite.
Placez vos différents apk à modifier dans le dossier (place-apk-here-for-modding) et double clicker sur le fichier Script.bat. Vous obtiendrez alors cette fenêtre :
/!\ Important /!\
Ne mélangez pas les genres!! Si vous décidez de faire un mod graphique seulement, utilisez les options 1 à 5.
Si vous décidez de changer les XML et/ou les .dex et .arsc, vous devez passer obligatoirement par les options 9 à 12.
Si vous décidez malgré tout de faire le mélange de genre, préférez alors l'option 9 à l'option 1 car il décompile vraiment le code. Et vous devriez alors recompiler l'ensemble, avec l'interface utilisateur modifié, autrement cela ne fonctionnera pas.
Je ne parle pas des options traitant les extractions et installations des apk via le shell adb car je ne les utilise pas mais rien ne vous empêche de les utiliser =)
Une fois cela en tête, le reste est vraiment très simple. Voici les étapes pour mener à bien un modding d'icône et/ou d'interface :
1. lancer le Script.bat en double clickant dessus,
2. composer 22 pour définir le projet en cours, vous obtiendrez quelque chose comme ça
3. définissez le projet sur lequel vous souhaitez travailler, ici pour notre exemple, on va modder xxxJuicePlotterxxx.apk, on rentre donc le chiffre 5, si vous souhaitez travailler sur le Calendar.apk, vous rentrez 2, pour Settings.apk ça sera 23 et ainsi de suite (honnêtement, préférez un seul apk à la fois si vous ne voulez pas vous mélanger les pinceaux).
4. rentrez l'option 1 Extract apk (i.e chiffre 1)
5. les fichiers sont alors simplement extraits dans le répertoire C:\apk_manager_4.9\projects (vous trouverez un répertoire nommé xxxJuicePlotterxxx.apk dans notre exemple)
6. apportez les modifications graphiques souhaitées Ayez seulement en tête les points importants suivants :
7. une fois les différentes images réalisées et modifiées à votre convenance, remplacer les images sources présentes dans les sous-répertoires du projet C:\apk_manager_4.9\projects\xxxJuicePlotterxxx.apk par vos propres images modifiées,
8. rentrez l'option 2 Optimize images inside pour l'optimisation des png (c'est une opération plus ou moins longue, soyez patient)
9. une fois finie, on reforme l'apk en choisissant l'option 3 Zip apk
10. vous trouverez alors dans le répertoire C:\apk_manager_4.9\place-apk-here-for-modding un nouveau apk dont la nomenclature est le nom de votre apk, préfixé par la mention unsigned, dans notre exemple, cela sera donc unsignedxxxJuicePlotterxxx.apk pour notre exemple,
11. il ne reste donc plus qu'à le signer avec l'option 4 Sign apk (faites attention, si c'est un apk system, il ne faut pas le signer, signer que les apk "communs"), vous obtiendrez alors un fichier nommé ainsi signedxxxJuicePlotterxxx.apk dans C:\apk_manager_4.9\place-apk-here-for-modding
12. Remettez sur la SD pour l'install sur votre DHD =)
Personnellement je n'utilise pas le zipalign...
Voilà, rien de sorcier en fait =)
Dans notre exemple, j'ai donc modifié le widget de JuicePlotter.
Avant :
Après :
Avouez tout de même que c'est un poil plus sympa et surtout plus cohérent avec le reste... =)
Avec ce retour d'expérience, je pense que deux autres pourraient être intéressants pour compléter celui-ci. En effet, on peut se demander comment trouver et récupérer les apk qui nous intéresse et surtout comment faire un fichier update.zip qui est un regroupement des apk modifiés.
Je vous remercie en tous les cas pour votre attention et encore une fois, soyez sympa, respecter le travail des développeurs, ne décompilez pas les apk pour changer le nom du programme et/ou changer le nom d'auteur à la sauvage...
Et soyez également sympa de partager vos petites recettes maisons; j'en suis friant!!
Pour le reste, n'hésitez pas si vous avez des questions.
CoriS
Après m'être cassé plusieurs fois les dents, j'ai enfin quelques informations à partager avec vous dans ce présent post qui, comme le titre l'indique, parle de ce que j'ai compris des mod (pour modding) des applications au format apk...
Avant de commencer, je souhaiterais souligner que ceci n'est pas un mode opératoire afin de décompiler sauvagement le travail d'autres développeurs pour mettre sa signature! Je vous remercie d'avance de respecter leur travail =) Pour l'instant, les mod que j'apporte sont essentiellement graphiques afin d'avoir un ensemble cohérent sur mon téléphone. Mais c'est tout. Pour ce qui est du modding comportemental et/ou évènementiel, je puis vous assurer qu'en contactant le développeur il se fera un plaisir de faire évoluer son application si la demande est pertinente et légitime (je les contacte souvent d'ailleurs en ce sens).
Bref, merci pour eux.
Donc si vous souhaitez toujours faire du modding de l'UI de votre application, vous aurez besoin des pré-requis suivants :
- APK Manager 4.9
- Java (préférez le JDK au JRE, ce dernier englobe le runtime)
- Android SDK
Normalement le JDK et/ou JRE sont déjà installés sur la plupart des machines de nos jours, l'android SDK est nécessaire pour le shell adb si vous préférez passer par ce dernier pour remettre vos apk sur vos DHD. Bien que je l'ai sur mon petit PC, ce n'est pas comme ça que je m'en sers.
Ces deux pré-requis passés, déziper l'APK Manager à un endroit à votre convenance.
Pour la facilité de lecture ici, nous le placerons à la racine du C ainsi nommé C:\apk_manager_4.9.
Vous y trouverez les dossiers suivants :
- other
- place-apk-here-for-modding
- place-apk-here-for-signing
- place-apk-here-to-batch-optimize
- place-ogg-here
- projects
- Script.bat
Au départ, en principe, vous n'aurez que ces différents fichiers, le fichier log.txt sera généré par la suite.
Placez vos différents apk à modifier dans le dossier (place-apk-here-for-modding) et double clicker sur le fichier Script.bat. Vous obtiendrez alors cette fenêtre :
/!\ Important /!\
Ne mélangez pas les genres!! Si vous décidez de faire un mod graphique seulement, utilisez les options 1 à 5.
Si vous décidez de changer les XML et/ou les .dex et .arsc, vous devez passer obligatoirement par les options 9 à 12.
Si vous décidez malgré tout de faire le mélange de genre, préférez alors l'option 9 à l'option 1 car il décompile vraiment le code. Et vous devriez alors recompiler l'ensemble, avec l'interface utilisateur modifié, autrement cela ne fonctionnera pas.
Je ne parle pas des options traitant les extractions et installations des apk via le shell adb car je ne les utilise pas mais rien ne vous empêche de les utiliser =)
Une fois cela en tête, le reste est vraiment très simple. Voici les étapes pour mener à bien un modding d'icône et/ou d'interface :
1. lancer le Script.bat en double clickant dessus,
2. composer 22 pour définir le projet en cours, vous obtiendrez quelque chose comme ça
3. définissez le projet sur lequel vous souhaitez travailler, ici pour notre exemple, on va modder xxxJuicePlotterxxx.apk, on rentre donc le chiffre 5, si vous souhaitez travailler sur le Calendar.apk, vous rentrez 2, pour Settings.apk ça sera 23 et ainsi de suite (honnêtement, préférez un seul apk à la fois si vous ne voulez pas vous mélanger les pinceaux).
4. rentrez l'option 1 Extract apk (i.e chiffre 1)
5. les fichiers sont alors simplement extraits dans le répertoire C:\apk_manager_4.9\projects (vous trouverez un répertoire nommé xxxJuicePlotterxxx.apk dans notre exemple)
6. apportez les modifications graphiques souhaitées Ayez seulement en tête les points importants suivants :
- gardez le même nom
- gardez la même taille du PNG (vous pouvez faire un plus grand, mais la plupart du temps, l'image sera rognée - sauf si vous modifiez les xml les décrivant)
7. une fois les différentes images réalisées et modifiées à votre convenance, remplacer les images sources présentes dans les sous-répertoires du projet C:\apk_manager_4.9\projects\xxxJuicePlotterxxx.apk par vos propres images modifiées,
8. rentrez l'option 2 Optimize images inside pour l'optimisation des png (c'est une opération plus ou moins longue, soyez patient)
9. une fois finie, on reforme l'apk en choisissant l'option 3 Zip apk
10. vous trouverez alors dans le répertoire C:\apk_manager_4.9\place-apk-here-for-modding un nouveau apk dont la nomenclature est le nom de votre apk, préfixé par la mention unsigned, dans notre exemple, cela sera donc unsignedxxxJuicePlotterxxx.apk pour notre exemple,
11. il ne reste donc plus qu'à le signer avec l'option 4 Sign apk (faites attention, si c'est un apk system, il ne faut pas le signer, signer que les apk "communs"), vous obtiendrez alors un fichier nommé ainsi signedxxxJuicePlotterxxx.apk dans C:\apk_manager_4.9\place-apk-here-for-modding
12. Remettez sur la SD pour l'install sur votre DHD =)
Personnellement je n'utilise pas le zipalign...
Voilà, rien de sorcier en fait =)
Dans notre exemple, j'ai donc modifié le widget de JuicePlotter.
Avant :
Après :
Avouez tout de même que c'est un poil plus sympa et surtout plus cohérent avec le reste... =)
Avec ce retour d'expérience, je pense que deux autres pourraient être intéressants pour compléter celui-ci. En effet, on peut se demander comment trouver et récupérer les apk qui nous intéresse et surtout comment faire un fichier update.zip qui est un regroupement des apk modifiés.
Je vous remercie en tous les cas pour votre attention et encore une fois, soyez sympa, respecter le travail des développeurs, ne décompilez pas les apk pour changer le nom du programme et/ou changer le nom d'auteur à la sauvage...
Et soyez également sympa de partager vos petites recettes maisons; j'en suis friant!!
Pour le reste, n'hésitez pas si vous avez des questions.
CoriS