web-dev-qa-db-ja.com

zipalignの実行中にエラーが発生しました

Eclipseで署名済みAPKをエクスポートしようとするとこのエラーが発生しました

Zipalignの実行中にエラーが発生しました:Zipアーカイブとして開くことができません

[ヘルプ]-> [更新プログラムの確認]を実行して、最新の更新プログラムとSDKツールが最新であることを確認しました。

37
netguy

同じエラーメッセージが表示されました。目的地のパスが無効であることがわかるまで、夢中になりました。

Zipalignは、apkが完全に有効であってもそのエラーを表示しますが、

  • apkへのパスが無効です
  • 宛先が無効か、存在しません
  • 許可が無効です(apkは他のプログラムによってロックされています)
65
Tapirboy

同じ問題が発生しました。はい、ツールがパスを認識できなかったためです。開発者のブログから悪いアドバイスを受けたので、間違ったスラッシュを使用していました。

ファイル「Origin.apk」がCディレクトリの「storage」というフォルダーにある場合のサンプル行コマンド:

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

必ずエンターキーの上にスラッシュを使用してください...私が見た「例」の多くは、シフトキーで使用するもので、それは機能しません。これにより、「Origin.apk」というapkが取得され、zipalignされて、「done.apk」ファイルと同じディレクトリに保存されます。

たぶん、これはVista上だけで、私は知らない。 Windows Vista 32ビットを使用しています。

7
JeffDenver

私の場合、未署名のapkがあったディレクトリからコマンドを実行し、完全に実行しました。

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

このように、ディレクトリを指定することを心配する必要はありませんでした。

pS:私はubuntuでこれをしました。

Deployディレクトリのapkファイルを削除すると、エクスポートは正常に機能しました。

3
netguy

署名されていないAPKファイルのフルパスを提供する必要がありました:platforms/Android/build/outputs/apk/Android-release-output.apk

3
Dawan

プリアライメントAPKが2GBより大きい場合、この問題も発生します。 Windows 10マシンでbuild-tools 23.0.1でテスト済み。

2
Chun-Fu Chao

Zipalignコマンドでも同じ問題が発生しました。出力パスは正しいが、出力パスで提供されたフォルダーが存在しなかったため、フォルダーを手動で作成した後、すべて正常に機能しました。

1
Karthikeyan VK

宛先ファイルのパスにある/の代わりに単純な\がこれにつながる場合があります。マルチプラットフォームのantファイルを再確認してください!

1
Snicolas

ターゲットディレクトリへの書き込みアクセス権がないため、このエラーが発生しました。それに応じて許可を変更することで問題は解決しました。

1
Konrad

宛先ディスクで使用可能なスペースを確認します。私のディスクがいっぱいだったので、私は同じエラーを得ました:-)

0
Jet

私の場合、問題はutf-8という名前のフォルダでした。英語に変えて働いた。 Windows 8 x64 Enterpriseエディションを使用しています。

0
Johny

宛先ファイルがすでに存在し、別のプロセスで開かれている場合、このエラーが表示されます。

解決方法:宛先ファイルの名前を変更するか、すでにファイルを開いているアプリケーションを閉じます。

0
flypen

zipalignツールはソースファイルにアクセスできないため、パス、ファイル名、拡張子、権限を確認する必要があります...

0
shamza

私のソリューションを追加する:

私の問題は、私の資産フォルダーが大きすぎて、どういうわけかジッピングをいじっていたに違いないということでした。アセットフォルダー内のファイルを削除する(またはそれらを_pre_productionに追加する)必要がありました。

0
FWhitaker

この問題は、Windows Explorerでプロジェクトのbinフォルダーを開いたときに発生しました。

次に、古いapkファイル(Exportツールが上書きしようとして失敗しました)を削除しようとしましたが、必要な許可がないか、他のプロセスにロックがかかっていたため、削除できませんでしたファイルに。

解決策は、apkファイルのロックを解除したコンピューターを再起動することでした。 EclipseのExportツールはその後正常に機能しました。

更新Windowsエクスプローラーまたはコマンドウィンドウで古いapkファイルを削除できませんでした(管理者権限で開いた場合でも)が、FileZilla FTPクライアントアプリケーションで表示するときにapkを削除できました。明らかに、これはコンピューターを再起動するよりもはるかに便利です。

0

プロジェクトフォルダからcmdを実行する必要がありました。

C:\ Users\User\Documents\phone app\7\proj7\platforms\Android\build\outputs\apkandroid-release-unsigned.apkがあり、これをcmd C:\ Users\User\AppData\Local\Androidに入力します\ Sdk\build-tools\26.0.0\zipalign -v 4 Android-release-unsigned.apk myApp-signed.apk

0
Dale C

これはあなたの間違いです
最初にzipalignを設定または参照してから、zipalign -v 4 app-release-unsigned.apk HelloWorld.apk
いいえ、これはあなたがすべきことであり、zipalign参照を設定し、同時にコマンドを実行します
このように
/Users/s****/Library/Android/sdk/build-tools/28.0.3/zipalign -v 4 app-release-unsigned.apk MyApp.apk apkはすぐにビルドされます。

0
lilhamad