GOOGLE ADS

samedi 16 avril 2022

Augmenter la taille de la bibliothèque Android FFMPEG

J'utilise la bibliothèque ffmpeg dans mon projet. Le problème est que la taille de l'apk de l'application est trop grande. Quelqu'un sait comment réduire la taille de l'apk? Toute aide, suggestion ou lien serait très apprécié. Merci.


Solution du problème

Bonjour @tech_android et @gulab patel. J'ai trouvé une solution pour cela.

Android Gradle vous permet de diviser votre apk en fonction du processeur ("armeabi-v7a", "arm64-v8a", "x86" et "x86_64"). De cette façon, vous vous retrouverez avec 4 apks au lieu d'un, et la taille de chacun sera la quatrième partie, et dans Google Play, vous téléchargez les quatre apks et lorsqu'un utilisateur essaie de télécharger votre application, Google Play choisira le bon apk en fonction du processeur de l'appareil des utilisateurs.

Vous devez configurer le fractionnement de l'application de cette manière :

Sous le nœud compilerOptions (à l'intérieur du nœud android json):

splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and x86_64.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "armeabi-v7a"
include "arm64-v8a"
include "x86"
include "x86_64"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
universalApk false
}
}

Et juste avant le nœud des dépendances :

// This next piece of code is used by apk Split
// map for the version code that gives each ABI a value. make sure to list all ABIs mentioned in splits block, an keep the order.
ext.versionCodes = ['armeabi-v7a': 1, 'arm64-v8a': 2, 'x86': 3, 'x86_64': 4]

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...