Zipalign-未找到命令-MAC 终端

当我尝试在一个 apk 上运行 Zipalign 时,会得到错误 "Command not found"

我不太熟悉在 MAC 上使用终端命令,但我已经导航到 SDK/Tools 文件夹并运行以下命令:

zipalign -v 4 Project1.apk Project1-aligned.apk

找不到指挥官

我试过将 apks 放在 Tools 文件夹中,结果也是一样。

有人可以帮助我了解哪里的 apk 应该位于和哪里我应该运行 zipalign 从?

谢谢,我对此感到非常沮丧,因为它看起来如此简单。

100845 次浏览

Perhaps the current directory is not in your path?

Try adding "./" before your command so

./zipalign -v 4 Project1.apk Project1-aligned.apk

If you are working on Windows, change the command prompt to point to the folder containing the zipalign.exe and then run the command. Also, I have found that you are not using the complete command:

zipalign [-f] [-v] 4 Input.apk Output.apk

You will find the zipalign tool at /path/to/sdk/build-tools/<build-tools-version>/zipalign NOT in the tools folder anymore.

Search it and reference it... I have it here and reference it like this:

/Users/lioncio/Desktop/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W/zipalign bla bla bla (all the options of the command!)

And worked

Zipalign is a command that located at $ANDROID_HOME/build-tools/{android-version}/.

Hope it helped.

cd android-sdk/build-tools/22.0.0/ - change directory to android sdk folder, build tools and choose version (I used 22.0.0).

Then at the prompt type:

./zipalign -v 4 /MyApp/android-x86-release-signed.apk ~/MyApp/android-x86-release-signedandzipped.apk

That worked for me. I tried the other solutions above with no success. I just had to run the command withn the proper folder, but that wasn't explained clearly in other resources I checked.

I am using Windows with git bash/command promt

zipalign.exe needed to be configured in environment variables.

so include sdk folder 'build-tool' with android version folder you are using to build.

e.g. E:\android-sdk\build-tools\22.0.1

it should contain 'zipalign.exe'. now you can user

zipalign -v 4 Project1.apk Project1-aligned.apk

from any location using command line tools.

thumb up for me so i can help more developers.

~/Library/Android/sdk/build-tools/xxxx/zipalign

Drag this to terminal or save this in your path. xxxx -> Version

for me this worked perfectly, I copied the zipalign file from the android path to the folder where I wanted to run command and then typed ./zipalign -v 4 android-release-unsigned.sdk nameofapp.apk

Note: It was on Mac

Relax! , Just Use Locate Command in Terminal WHEREVER it is , it will come out

tom-MacBook-Air:kavform_app tom$ locate zipalign


/Users/tom/Software/android-sdk-macosx/build-tools/24.0.1/zipalign


/Users/tom/Software/android-sdk-macosx/docs/tools/help/zipalign.html

In my case it was burried over here

/Users/tom/Software/android-sdk-macosx/build-tools/24.0.1/zipalign -v 4 /Users/tom/kavwork/kavform/kavform_app/platforms/android/build/outputs/apk/android-release-unsigned.apk BrideToBe.apk

A simple one-liner:

  • This adds a line in your profile, to add the directory which contains the zipalign executable to your path
  • Then reloads the profile

echo "export PATH=\$PATH:~/Library/Android/sdk/build-tools/23.0.1/" >> ~/.bash_profile && . ~/.bash_profile

Make sure to replace 23.0.1 with your installed version

$ ls -l ~/Library/Android/sdk/build-tools/
total 0
drwxr-xr-x  23.0.1 <---

Now you should be able to use zipalign regardless of your current working dir

$ zipalign

You can find correct path with this command:

find ~/Library/Android/sdk/build-tools -name "zipalign"

Navigate to the path of the zip align and include that with the command

/Users/ignatiusandrew/Library/Android/sdk/build-tools/25.0.2/zipalign 4 android-release-unsigned.apk igi.apk

%ANDROID_HOME%\\build-tools\\25.0.2\\zipalign -v 4 .\\platforms\\android\\build\\outputs\\apk\\input.apk .\\path\\ output.apk

Solution for Mac

This error basically means that the terminal wasn't able to find the zipalign file. So you can either type in the full path for your zipalign file with the command (located in your Android build-tools folder)

/Users/username/Library/Android/sdk/build-tools/26.0.1/zipalign -v 4 android-armv7-release-unsigned.apk helloWorld.apk;

If you do not know the location of the zipalign file, then just use this command

find ~/Library/Android/sdk/build-tools -name "zipalign"

add it to the path

on terminal

find path for zip align

find ~/Library/Android/sdk/build-tools -name "zipalign"

path: /Users/username/Library/Android/sdk/build-tools/26.0.1/zipalign

enter the path found in there

sudo nano /etc/paths

now on new terminal you can see zipalign reco

First, if your android home is set, then you can just cd $ANDROID_HOME and open . (This should be - /Users/username/Library/Android/, you can just cd to that path as well)

Next, navigate to "sdk/build-tools/25.0.3/" (version 25.0.3 in this case, yours may be a different version).

At your terminal (apk prompt), drag zipalign to the terminal and ...../zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk. Should work fine.

Hope it helps.

Downloaded zipalign-file from github

zipalign exec copy and paste in your Project1-aligned.apk directory
./zipalign -v 4 Project1.apk Project1-aligned.apk

In my case I follow below answer

  1. Change directory

    /path/to/sdk/build-tools//zipalign

  2. Type

    ./zipalign instead zipalign

In short ./zipalign is solution for me.

on the mac with the zsh console, my solution was

command 1)

find ~/Library/Android/sdk/build-tools -name "zipalign"
----------------------------------------------------------
/Users/macOs/Library/Android/sdk/build-tools/28.0.3/zipalign
/Users/macOs/Library/Android/sdk/build-tools/26.0.2/zipalign
/Users/macOs/Library/Android/sdk/build-tools/25.0.2/zipalign
/Users/macOs/Library/Android/sdk/build-tools/27.0.3/zipalign

command 2)

echo "export PATH=\$PATH:~/Library/Android/sdk/build-tools/28.0.3/" >> ~/.bash_profile && . ~/.bash_profile

command 3)

ls -l ~/Library/Android/sdk/build-tools/

command 4)

zipalign -v 4 app-release-unsigned.apk nameApp.apk

2hours resume for newbies (like me) :

If you type this command :

zipalign -v 4 platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app-release.apk

Witch gives you :

command not found: zipalign

It's maybe that the path is somewhere wrong. If you have this :

Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/apt" (-1)

It confirms that its not really as it should be. So, to execute zipalign and finally publish your app, you have to go in the correct repository and execute commande.

1. Go to the correct repo to execute command :

The path is cd /Users/xxxyour_user_namexxx/Library/Android/sdk/build-tools/xxxxx/

cd /Users/greg/Library/Android/sdk/build-tools/28.0.3

2. Execute your zipalign command, don't forget to precise the path of apk file :

Obviously, chance "greg" and "myapp" with your user name & app name.

./zipalign -v 4 /Users/greg/Desktop/AppLocal/myapp/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk /Users/greg/Desktop/AppLocal/myapp/platforms/android/app/build/outputs/apk/release/app-release.apk

Hope it helps.

Alternatively, if you do not want to add a specific build tools folder to the path, in case it changes in the future, you can use the first result of find command:

$(find ~/Library/Android/sdk/build-tools -name "zipalign" | head -n 1) <your-zipalign-parameters>

It might be especially useful in a CI pipeline.