当我尝试在apk上运行Zipalign时,我收到错误"Command not found"
我不熟悉在MAC上使用终端命令,但我已导航到SDK / Tools文件夹并运行以下命令:
zipalign -v 4 Project1.apk Project1-aligned.apk
我找不到命令
我尝试将apks放在Tools文件夹中,结果相同。
有人可以帮我理解应该找到apks的位置以及我应该从哪里开始zipalign吗?
谢谢,我对此感到非常沮丧,因为它看起来很简单。
答案 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)
简单的单行:
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)
就我而言 我遵循以下答案
更改目录
/ path / to / sdk / build-tools // zipalign
类型
./ 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
使用命令行工具从任何位置。
支持我,这样我可以帮助更多开发人员。