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.
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
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.
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.
J'ai supprimé le fichier apk du répertoire de déploiement et l'exportation a bien fonctionné à ce moment-là.
Je devais fournir le chemin complet du fichier APK non signé: plates-formes/Android/construire/sorties/apk/Android-release-output.apk
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.
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é.
Parfois, un simple\au lieu d'un/dans le chemin du fichier de destination peut conduire à cela. Vérifiez vos fichiers ant multiplateformes!
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.
Vérifiez l'espace disponible sur le disque de destination. J'ai eu la même erreur parce que mon disque était plein :-)
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.
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.
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 ...
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).
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.
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
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.