web-dev-qa-db-fra.com

Erreur lors de l'exécution de zipalign

J'ai eu cette erreur en essayant d'exporter un apk signé dans Eclipse

Erreur lors de l’exécution de zipalign: Impossible d’ouvrir comme archive zip

J'ai exécuté Aide-> Rechercher les mises à jour pour vous assurer que la dernière mise à jour est installée et que les outils du SDK sont également à jour.

31
netguy

Je recevais le même message d'erreur. M'a rendu fou jusqu'à ce que je découvre que mon chemin de destination était invalide. 

Zipalign vous donnera cette erreur même si l'apk est parfaitement valide, mais

  • le chemin d'accès à l'apk est invalide 
  • la destination est invalide ou n'existe pas existe
  • les autorisations ne sont pas valides (apk est verrouillé par un autre programme)
64
Tapirboy

J'ai eu le même problème et oui, c'était parce que l'outil ne pouvait pas reconnaître le chemin. J'utilisais la mauvaise barre oblique parce que mon blog de développeur m'avait mal conseillé. 

Exemple de commande de ligne si le fichier "Origin.apk" se trouve dans un dossier appelé "storage" dans le répertoire C:

zipalign -f -v 4 “c:\storage\Origin.apk” “c:\storage\done.apk”

Assurez-vous que vous utilisez la barre oblique au-dessus de la touche Entrée ... De nombreux "exemples" que j'ai vus utilisent celui par la touche Maj et cela ne fonctionnera pas. Cela prendra l'apk appelé "Origin.apk" et le zalignera puis l'enregistrera dans le même répertoire que le fichier "done.apk". 

Peut-être que c'est juste sur Vista, je ne sais pas. J'utilise Windows Vista 32 bits. 

7
JeffDenver

Dans mon cas, j'ai exécuté la commande à partir du répertoire où se trouvait l'apk non signé et il fonctionnait parfaitement.

cd /platforms/Android/build/outputs/apk
zipalign -v 4 Android-release-unsigned.apk signed.apk 

De cette façon, je n'avais pas besoin de m'inquiéter de la spécification du répertoire.

ps: je l'ai fait sur Ubuntu.

4
Bernard Parah

J'ai supprimé le fichier apk du répertoire de déploiement et l'exportation a bien fonctionné à ce moment-là.

3
netguy

Je devais fournir le chemin complet du fichier APK non signé: plates-formes/Android/construire/sorties/apk/Android-release-output.apk

3
Dawan

Si votre APK pré-aligné est supérieur à 2 Go, cela provoquera également ce problème. Testé avec les outils de compilation 23.0.1 sur Windows 10.

2
Chun-Fu Chao

J'ai eu le même problème avec ma commande zipalign. Le chemin de sortie était correct mais les dossiers n'existaient pas, ce qui était fourni dans le chemin de sortie. J'ai donc créé les dossiers manuellement, puis tout a bien fonctionné. 

1
Karthikeyan VK

Parfois, un simple\au lieu d'un/dans le chemin du fichier de destination peut conduire à cela. Vérifiez vos fichiers ant multiplateformes!

1
Snicolas

J'ai eu cette erreur parce que je n'avais aucun accès en écriture au répertoire cible. Changer l'autorisation en conséquence a résolu le problème.

1
Konrad

Vérifiez l'espace disponible sur le disque de destination. J'ai eu la même erreur parce que mon disque était plein :-)

0
Jet

Dans mon cas, le problème était le dossier nommé utf-8. Je l'ai changé en anglais et travaillé. J'utilise Windows 8 x64 Enterprise Edition.

0
Johny

Si le fichier de destination existe déjà et qu'il est ouvert par un autre processus, vous verrez alors cette erreur.

Méthode de résolution: renommez le fichier de destination ou fermez l'application qui ouvre déjà le fichier.

0
flypen

L'outil zipalign ne peut pas accéder au fichier source. Vous devez donc vérifier le chemin, le nom du fichier, l'extension, les autorisations ...

0
shamza

Ajout de ma solution:

Mon problème était que mon dossier d'actifs était trop volumineux et que je devais jouer avec le zipping. J'ai dû supprimer des fichiers dans le dossier des actifs (ou les ajouter à _pre_production).

0
FWhitaker

Ce problème s'est produit lorsque j'ai ouvert le dossier bin de mon projet dans l'Explorateur Windows.

J'ai ensuite essayé de supprimer mon ancien fichier apk (que l'outil Export tentait sans succès d'écraser), mais je ne pouvais pas le faire car je n'avais pas la permission nécessaire ou parce qu'un autre processus bloquait le fichier.

La solution a été de redémarrer mon ordinateur, ce qui a libéré le verrou sur le fichier apk. L’outil Export d’Eclipse a ensuite bien fonctionné.

Mise à jour Impossible de supprimer l'ancien fichier apk dans l'Explorateur Windows ou dans la fenêtre de commande (même lorsque je l'ai ouvert avec des droits d'administrateur), mais je pouvais supprimer l'apk lors de sa visualisation dans mon application client FTP FileZilla. Évidemment, cela est beaucoup plus pratique que de redémarrer l'ordinateur.

0
ban-geoengineering

Je devais exécuter cmd à partir du dossier de projet où le

C:\Utilisateurs\Utilisateur\Documents\app téléphone\7\proj7\plates-formes\Android\build\sorties\apkandroid-release-unsigned.apk est situé et entrez-le dans cmd C:\Utilisateurs\Utilisateur\AppData\Local\Android\Sdk\build-tools\26.0.0\zipalign -v 4 Android-release-unsigned.apk myApp-signed.apk

0
Dale C

c'est votre erreur
Vous essayez d’abord de définir ou de faire référence à zipalign, puis de lancer zipalign -v 4 app-release-unsigned.apk HelloWorld.apk
Non, voici ce que vous devez faire: définir la référence zipalign et exécuter la commande en même temps
comme ceci
/Users/s****/Library/Android/sdk/build-tools/28.0.3/zipalign -v 4 app-release-unsigned.apk MyApp.apk Votre apk se construira immédiatement.

0
lilhamad