cannot.find.Zip.align=The zipalign tool was not found in the SDK.
Please update to the latest SDK and re-export your application
or run zipalign manually.
Aligning applications allows Android to use application resources
more efficiently.
これは、私が自分のアプリを公開しようとしたときに受け取ったメッセージです。私はAndroid SDK Tools(23が今日リリースされた)とSDK Platform-tools(20も今日リリースされた)の最新版を使用しています。 APKが出ましたが、Google PlayにアップロードしようとしたときにZipが合っていないというエラーが出ました。
Zipalignを実行すると手動でapkが修正されますが、誰がこれを引き起こしたのか、またどのように修正したらよいのでしょうか?
私は同じ問題を抱えていました。そしてそれを修正するために、Zipalignファイルをsdk/build-tools/Android-4.4Wフォルダからsdk/tools /にコピーします。
編集: GoogleがAndroid用SDKを更新したので、新しいビルドツールでこの問題は解決されました。だから私はみんなにAndroid SDK Build-tools 2にアップデートすることを勧めました。
私はAndroid SDK Build-tools 20をインストールすることでそれを修正しました:
Eclipse→プルダウンメニュー→ウィンドウ→Android SDK Managerで、チェックAndroid SDK Build-) tools Rev. 2、そしてInstallnpackage…(s)…ボタンをクリックしてインストールを開始します。
設置すれば使えるようになる
Android SDK Build-tools Rev.20
私はzipalignのフルパスを使いました。 Macの場合、Finderで実行ファイルを見つけてクリックしました。その後、私が実行した私のアプリを公開するために
/Users/username/development/sdk/tools/zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
の代わりに
zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
私はただこれのためにビデオを作ることにしました。私はそれをplatform-toolsに移し、すぐに公開します。その後Eclipseを再起動する必要があります。
Macでは、次のことを行いました。
O/sで見つけてください(私はすでに19と20のビルドツールをダウンロードしていました)
インターネットからのアプリを許可するにはCtrl-Openを押します
Sdk/build-tools/Android-4.4Wフォルダからsdk/tools /に移動してください。うわー。
Mac/Linux:
これは私にとってはうまくいきました(22.0.1をあなたのビルドツールのバージョンに置き換えたいかもしれません):
編集:〜/ .bashrc
export Android_HOME=~/Android/Sdk/
export Android_TOOLS=~/Android/Sdk/tools/
export Android_BUILD_TOOLS=~/Android/Sdk/build-tools/22.0.1/
export Android_PLATFORM_TOOLS=~/Android/Sdk/platform-tools/
PATH=$PATH:$Android_HOME:$Android_TOOLS:$Android_PLATFORM_TOOLS:$Android_BUILD_TOOLS
そして実行します。
source ~/.bashrc
または単にターミナルを閉じて、もう一度起動してください。
SDKのアップデートが20になり、バージョン20のビルドおよびプラットフォームツールと23のsdk料金で、Googleは多くのことを動かしました。
Gradle(Android Studioを使用している場合)は、他のAnswersでzipalign
バイナリを/sdk/tools/
にコピーすることで、今のところうまくいくはずです。
PDATE: Android Studio 0.8.1がリリースされて以降、問題は解決したようです…
あなたはあなたのbuild.gradle
を更新するだけでよく、それは再びうまくいくはずです
compileSdkVersion 20
buildToolsVersion "20.0.0"
targetSdkVersion 20
もしあなたが他のcompatまたはsupportライブラリを使っているなら
compile 'com.Android.support:appcompat-v7:20.+'
compile 'com.Android.support:support-v4:20.+'
あなたがgradleを使っているならば、ただypur gradleプラグインを更新してください!
Build.gradleの行を次のように変更します。
classpath 'com.Android.tools.build:gradle:0.9.+'
に:
classpath 'com.Android.tools.build:gradle:0.11.+'
わたしにはできる。
変数buildToolsVersion(私の場合は "20.0.0")は、使用しているビルドツールのバージョンと一致する必要があります。
がんばろう :)
SDKマネージャをチェックして、 "build-tools"がインストールされていることを確認してください。鉱山はそのデフォルト状態で、これをしなかった。
Android Studio 1.0ではzipAlignEnabled true
を使用する必要があります
Digiboomzでリンクされたビデオに示されているように、sdk\build-tools\Android-4.4Wからsdk\platform-toolsにzipalign.exeをコピーして修正しました。 sdk\toolsにコピーしてもうまくいきませんでした
私はEclipseを使用していて、これがアップデート中に壊れました。上記の答えがしなかったので、これは私のために働いたものです。
私はantのbuild.xmlがzipalign.exeを見つけることを期待している場所を調べました。
C:\Development\Android\android-sdk\tools\ant\build.xml
内で、zipalignは次のように定義されています:
<property name="zipalign" location="${Android.build.tools.dir}/zipalign${exe}" />
これは、その期待値を示します。
C:\Development\Android\android-sdk\build-tools\18.0.1
このディレクトリは、「Android SDK Manager」にインストールされていると表示される「Android SDK Build-tools」の最新バージョンに対応しています。そこで、ここでzipalign.exe(Android Studioのインストールから入手したもの)をコピーしたところで、署名されたアプリは自動的に再度zipalignedになりました。
Zipalign gradleタスクはGradle用Androidプラグイン、リビジョン2.2.0(2016年9月)以降廃止予定です。
使い続けたい場合は、gradle.propertiesファイルにAndroid.useOldPackaging = trueを追加してください。
詳しい説明は ここ をクリックしてください。
1つのタスクでジッピング、署名、およびzipaligningを処理する新しいデフォルトのパッケージ化パイプラインを採用することによって、ビルドパフォーマンスを向上させます。 gradle.propertiesファイルにAndroid.useOldPackaging = trueを追加することで、以前のパッケージ化ツールの使用に戻すことができます。新しいパッケージツールを使用している間は、zipalignDebugタスクは使用できません。ただし、createZipAlignTask(String taskName、File inputFile、File outputFile)メソッドを呼び出すことで自分で作成することができます。 APK署名は、従来のJAR署名に加えてAPK署名方式v2を使用するようになりました。すべてのAndroidプラットフォームは結果のAPKを受け入れます。署名後にこれらのAPKを変更すると、v2の署名が無効になり、デバイスへのインストールが妨げられます。ブロッククォート
コマンドラインからzipalignコマンドが見つからない場合は、zipalignのファイルパスを環境変数に追加します。上記のように、exeファイルの場所を変更するのは良いことではありません。
Windowsユーザーの場合:
User->PATH->"path to zipalign folder"
に追加
私の場合、そのパスはC:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\Android-4.4W
でした。そのフォルダにzipalign.exeがあります。
このリンクはパスの設定と理解に役立ちます http://www.voidspace.org.uk/python/articles/command_line.shtml#path
OSX 10.10.5、Android StudioおよびSDKがインストールされているMacでは、パスは次のとおりです。
/Users/mles/Library/Android/sdk/build-tools/23.0.1/zipalign
私はディレクトリC:\ Program Files\Android SDKのAdministrator @ your SDK Manager.exeとしてRUNによって解決した
それ以降は、更新されたビルドツールを任意のリポジトリに格納します。
これを修正する手順
私が完全に絶望的だったとき、私は公式のzipalign.exeを見つけることを可能にしたので、私は以下をしました。簡単な答えは、サイトの公式(しかし一般公開ではない:-)部分からのリンクを使用することです。
https://dl.google.com/Android/repository/build-tools_r28-rc1-windows.Zip
2018年以降にこのrecepyを使用する場合は、おそらく完全な説明が必要です。
Android Studioを開いて移動
Android Studio->Tools->Android->SDK Manager->Android SDK->SDK update site
テキストエディタのリンクを書いてブラウザで開きます。私の場合、最初のリンクが私のために働きました:
https://dl.google.com/Android/repository/repository2-1.xml
最新のパッケージbuild-toolsを探してください。私の場合、それはbuild-tools_r28-rc1-windows.Zipでしたが、あなたはあなたの時間の中で最新のものを見つけることができます
Ctrl+F build-tools_
URLの最後の部分を、見つけたパッケージ名に置き換えます。
https://dl.google.com/Android/repository/build-tools_r28-rc1-windows.Zip
パッケージをダウンロードして解凍し、幸い公式ファイルを見つけます。
zipalign.exe
それがあなたを助けてくれるのなら、あなたのフィードバックは大歓迎です。
Android SDK Platform(4.4W)をアンインストールしてから再インストールすることで解決しました。インストール後にEclipseも再起動しました。
Googleはビルドツールのバージョンでこの間違いを直します。
通常zipalign.exeは "Android Manager"の近くにあり(( "Android"、 "Android SDK"など)、そのため、 "Android Manager"を検索してください Windowsで検索して、コマンドの上に右クリックを入力して、ファイルを開くlocationおそらく\ Android\android-sdk\toolsです。それからフォルダを返してAndroid\android-sdk\build-tools\23.0.3に移動するだけです。 zipalignがあるので、ダブルクリックしても使えないかもしれないので、zipalignファイルのパスをすべてコピーする必要があります。 CMDを使用すると、最後に入力するコードは次のようになります。
C:¥Users¥heitor¥AppData¥Local¥Android¥android-sdk¥build-tools¥23.0.1¥zipalign.exe -v 4 Android.apk Android2.apk
zipalign
はbuild-tools\19.1.0
とbuild-tools\20.0.0
に移動しました。ターゲットSDKに応じてどちらかを使用する必要があると思います
私の場合、SDK Build Tools 20はすでにインストールされています。 Toolsフォルダにzipalign.exeをコピーしましたが、成功しませんでした。
その後、古いフォルダを削除したり名前を変更したりせずにEclipseを更新したことに気付きました。
だから私はしました:
1)古いEclipseフォルダの名前を変更しました2)Eclipseを再起動しました
問題はEclipseであり、古いフォルダを使用しようとしていたため、EclipseはAndroidの設定を修正するよう求めました