Published by

Il y a 7 ans -

Temps de lecture 1 minute

Android : resConfig Késako ?

Ou comment réduire la taille de son apk en supprimant les traductions inutiles.

Android
Sur les différents projets sur lesquels j’ai travaillé, je suis étonné de voir que personne ne connaissait ce petit mal aimé appelé : resConfig(s) !

Pour faire connaissance avec lui et mieux le comprendre il faut commencer par décompiler votre apk.

Une fois les sources décompilées, si vous farfouillez un peu, vous trouverez dans le dossier res des values : « -af », « -am », « ar », « tr » (turque ?!), etc.

Des strings bien exotiques non ?

Pourtant votre Application ne comporte que des labels qui l’intéresse : anglais, français, et quelques autres. Alors pourquoi l’apk contient-il ces traductions qui ne seront jamais lues ?

Le coupable ? Les bibliothèques tierces, notamment Google Play Services ou AppCompat qui, bien faites, contiennent toutes les langues traduites, mais dont on n’a pas forcément besoin pour notre application.

Pour se délester de ces ressources qui ne nous intéressent pas, il suffit de garder seulement celles dont on a besoin (pas bête).

Par exemple, pour garder seulement l’anglais et le français, on ajoutera simplement au build.gradle resConfigs(« en », »fr ») :

[java]android {
defaultConfig {

resConfigs ("en", "fr")
}
}[/java]

Au final c’est un gain de presque 1MB sur la taille de son apk.

Voilà, ce n’était pas très compliqué (ouf). Je vous invite également à faire la connaissance de ses petits copains plus célèbres : minifyEnable et shrinkResources.

Published by

Commentaire

0 réponses pour " Android : resConfig Késako ? "

  1. Published by , Il y a 7 ans

    Merci pour l’astuce, je ne connaissais pas!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.