Eclipseで署名済みAPKをエクスポートしようとするとこのエラーが発生しました
Zipalignの実行中にエラーが発生しました:Zipアーカイブとして開くことができません
[ヘルプ]-> [更新プログラムの確認]を実行して、最新の更新プログラムとSDKツールが最新であることを確認しました。
同じエラーメッセージが表示されました。目的地のパスが無効であることがわかるまで、夢中になりました。
Zipalignは、apkが完全に有効であってもそのエラーを表示しますが、
同じ問題が発生しました。はい、ツールがパスを認識できなかったためです。開発者のブログから悪いアドバイスを受けたので、間違ったスラッシュを使用していました。
ファイル「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ビットを使用しています。
私の場合、未署名のapkがあったディレクトリからコマンドを実行し、完全に実行しました。
cd /platforms/Android/build/outputs/apk
zipalign -v 4 Android-release-unsigned.apk signed.apk
このように、ディレクトリを指定することを心配する必要はありませんでした。
pS:私はubuntuでこれをしました。
Deployディレクトリのapkファイルを削除すると、エクスポートは正常に機能しました。
署名されていないAPKファイルのフルパスを提供する必要がありました:platforms/Android/build/outputs/apk/Android-release-output.apk
プリアライメントAPKが2GBより大きい場合、この問題も発生します。 Windows 10マシンでbuild-tools 23.0.1でテスト済み。
Zipalignコマンドでも同じ問題が発生しました。出力パスは正しいが、出力パスで提供されたフォルダーが存在しなかったため、フォルダーを手動で作成した後、すべて正常に機能しました。
宛先ファイルのパスにある/の代わりに単純な\がこれにつながる場合があります。マルチプラットフォームのantファイルを再確認してください!
ターゲットディレクトリへの書き込みアクセス権がないため、このエラーが発生しました。それに応じて許可を変更することで問題は解決しました。
宛先ディスクで使用可能なスペースを確認します。私のディスクがいっぱいだったので、私は同じエラーを得ました:-)
私の場合、問題はutf-8という名前のフォルダでした。英語に変えて働いた。 Windows 8 x64 Enterpriseエディションを使用しています。
宛先ファイルがすでに存在し、別のプロセスで開かれている場合、このエラーが表示されます。
解決方法:宛先ファイルの名前を変更するか、すでにファイルを開いているアプリケーションを閉じます。
zipalign
ツールはソースファイルにアクセスできないため、パス、ファイル名、拡張子、権限を確認する必要があります...
私のソリューションを追加する:
私の問題は、私の資産フォルダーが大きすぎて、どういうわけかジッピングをいじっていたに違いないということでした。アセットフォルダー内のファイルを削除する(またはそれらを_pre_productionに追加する)必要がありました。
この問題は、Windows Explorerでプロジェクトのbin
フォルダーを開いたときに発生しました。
次に、古いapkファイル(Export
ツールが上書きしようとして失敗しました)を削除しようとしましたが、必要な許可がないか、他のプロセスにロックがかかっていたため、削除できませんでしたファイルに。
解決策は、apkファイルのロックを解除したコンピューターを再起動することでした。 EclipseのExport
ツールはその後正常に機能しました。
更新Windowsエクスプローラーまたはコマンドウィンドウで古いapkファイルを削除できませんでした(管理者権限で開いた場合でも)が、FileZilla
FTPクライアントアプリケーションで表示するときにapkを削除できました。明らかに、これはコンピューターを再起動するよりもはるかに便利です。
プロジェクトフォルダから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
これはあなたの間違いです
最初に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はすぐにビルドされます。