Zipalign - 未找到命令 - MAC终端

时间:2011-03-16 15:07:05

标签: android macos terminal command

当我尝试在apk上运行Zipalign时,我收到错误"Command not found"

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

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

我找不到命令

我尝试将apks放在Tools文件夹中,结果相同。

有人可以帮我理解应该找到apks的位置以及我应该从哪里开始zipalign吗?

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

22 个答案:

答案 0 :(得分:68)

当前目录可能不在您的路径中?

尝试在命令之前添加“./”

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

答案 1 :(得分:43)

您将在工具文件夹中的/path/to/sdk/build-tools/<build-tools-version>/zipalign 处找到zipalign工具。

答案 2 :(得分:35)

您可以使用此命令找到正确的路径:

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

答案 3 :(得分:34)

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

将其拖至终端或将其保存在路径中。 xxxx - &gt;版本

答案 4 :(得分:22)

Zipalign是一个位于$ANDROID_HOME/build-tools/{android-version}/的命令。

希望它有所帮助。

答案 5 :(得分:14)

简单的单行:

  • 这会在您的个人资料中添加一行,以便将包含zipalign可执行文件的目录添加到您的路径
  • 然后重新加载个人资料

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

确保将 23.0.1 替换为已安装的版本

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

现在你应该能够使用zipalign,无论你目前的工作目标是什么

$ zipalign

答案 6 :(得分:7)

搜索并引用它...我在这里有它并像这样引用它:

/Users/lioncio/Desktop/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W/zipalign bla bla bla(命令的所有选项!)

并且工作

答案 7 :(得分:7)

<强>放松! ,只需在终端 WHEREVER 中使用 Locate 命令,它就会出来

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  

在我的情况下,它被埋在这里

/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

答案 8 :(得分:2)

Mac解决方案

此错误基本上意味着终端无法找到zipalign文件。 因此,您可以使用命令(位于Android build-tools文件夹中)输入zipalign文件的完整路径

@objc func testATimer(fromTimer: Timer) {
    if let targetLocation = fromTimer.userInfo as? Int {
        NSLog("Placing target \(targetLocation)")
        targets[targetLocation].image = targetImage

        OperationQueue.main.addOperation {
            let nextLocation = targetLocation + 1
            if (nextLocation < self.targets.count) {
                NSLog("Setting timer for target \(nextLocation)")
                let _ = Timer.scheduledTimer(timeInterval: 2.0, target: self, selector: #selector(ViewController.testATimer(fromTimer:)), userInfo: nextLocation, repeats: false)
            }
        }
    }
}

如果您不知道zipalign文件的位置,请使用此命令

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

答案 9 :(得分:2)

导航到zip对齐的路径,并使用命令

包含该路径

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

答案 10 :(得分:1)

如果您使用的是Windows,请将命令提示符更改为指向包含zipalign.exe的文件夹,然后运行该命令。另外,我发现你没有使用完整的命令:

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

答案 11 :(得分:1)

在使用zsh控制台的Mac上,我的解决方法是

命令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

命令2)

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

命令3)

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

命令4)

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

答案 12 :(得分:1)

将其添加到路径

在终端

查找zip对齐路径

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

路径: /用户/用户名/库/Android/sdk/build-tools/26.0.1/zipalign

输入在那里找到的路径

sudo nano /etc/paths
  

现在在新终端上,您可以看到zipalign reco

答案 13 :(得分:1)

cd android-sdk/build-tools/22.0.0/ - 将目录更改为android sdk文件夹,构建工具并选择版本(我使用22.0.0)。

然后在提示符下键入:

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

这对我有用。我尝试了上面的其他解决方案没有成功。我只需要使用正确的文件夹运行命令,但在我检查的其他资源中没有清楚地解释。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

对我来说这很完美,我将zipalign文件从android路径复制到我想运行命令的文件夹然后输入./zipalign -v 4 android-release-unsigned.sdk nameofapp.apk

注意:它在Mac上

答案 16 :(得分:0)

首先, 如果您设置了android home,那么您可以     cd $ANDROID_HOME 和   open .(这应该是-/ Users / username / Library / Android /,您也可以通过cd转到该路径)

接下来,导航至“ sdk / build-tools / 25.0.3 /”(在这种情况下,版本为25.0.3,您的版本可能是其他版本)。

在终端上(apk提示),将zipalign拖到终端上,然后 ...../zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk。 应该工作正常。

希望有帮助。

答案 17 :(得分:0)

从github下载zipalign-file

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

答案 18 :(得分:0)

就我而言 我遵循以下答案

  1. 更改目录

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

  2. 类型

    ./ zipalign代替zipalign

简而言之。./zipalign是我的解决方案。

答案 19 :(得分:0)

对于新手(像我一样)2小时的恢复时间:

如果键入此命令:

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

女巫给你:

command not found: zipalign

可能是路径错误。 如果您有这个:

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

它确认它不是应该的。因此,要执行zipalign并最终发布您的应用,您必须进入正确的存储库并执行commande。

1。转到正确的仓库以执行命令:

路径为cd / Users / xxxyour_user_namexxx / Library / Android / sdk / build-tools / xxxxx /

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

2。执行zipalign命令,别忘了精确调整apk文件的路径:

很明显,用您的用户名和应用名称来给“ greg”和“ myapp”添加机会。

./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

希望有帮助。

答案 20 :(得分:0)

或者,如果您不想将特定的构建工具文件夹添加到路径中,以防将来发生变化,您可以使用 find 命令的第一个结果:

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

它可能在 CI 管道中特别有用。

答案 21 :(得分:-1)

我正在使用带有git bash /命令promt的Windows

需要在环境变量中配置

zipalign.exe。

所以包括sdk文件夹&#39; build-tool&#39;使用你正在构建的android版本文件夹。

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

它应该包含&#39; zipalign.exe&#39;。现在你可以用户

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

使用命令行工具从任何位置。

支持我,这样我可以帮助更多开发人员。