pourquoi apk non aligné est nécessaire?

151

Android gradle produit apk en deux binaires: non aligné et aligné.

Le document disait ...

Une fois que vous avez signé l'APK avec votre clé privée, exécutez zipalign sur le fichier. Cet outil garantit que toutes les données non compressées commencent par un alignement d'octets particulier, par rapport au début du fichier. Assurer l'alignement à des limites de 4 octets offre une optimisation des performances lorsqu'il est installé sur un périphérique. Une fois aligné, le système Android est capable de lire les fichiers avec mmap (), même s'ils contiennent des données binaires avec des restrictions d'alignement, plutôt que de copier toutes les données du package. L'avantage est une réduction de la quantité de RAM consommée par l'application en cours d'exécution.

On dirait que l'apk aligné est fortement recommandé de distribuer. Pour moi, j'utilise uniquement apk aligné comme produit de résultat et ignore apk non aligné .

Apk non aligné a-t-il une utilisation particulière pendant le développement?

Youngjae
la source

Réponses:

197

C'est un processus en deux étapes. L'apk non aligné n'est qu'un produit intermédiaire.

  1. l'apk non aligné est généré
  2. le non-aligné est aligné et produit l'apk aligné
flx
la source
3
Merci pour la réponse rapide. Donc, nous pouvons dire que l'apk non aligné est juste une chose provisoire?
Youngjae
1
Droite. Certains IDE le produisent comme produit final pour la génération de débogage afin d'accélérer le processus de génération.
flx
2
le fichier apk unalign aide-t-il à déboguer l'application? Merci :)
hqt
11
non ce n'est pas le cas. il s'agit essentiellement du même contenu que le fichier zip aligné, mais les limites du fichier ne sont pas alignées sur des blocs 4b.
flx
49

L'APK non aligné (signé) est nécessaire car la signature d'un apk aligné annulera l'alignement.

À partir de la documentation :

Attention: zipalign ne doit être effectué qu'après signature du fichier .apk avec votre clé privée. Si vous effectuez zipalign avant de signer, la procédure de signature annulera l'alignement.

Voir cette réponse pour plus. Voici le processus de construction détaillé: entrez la description de l'image ici

SMR
la source