如何为 mac 获取 zipalign?

Posted

技术标签:

【中文标题】如何为 mac 获取 zipalign?【英文标题】:How to get zipalign for mac? 【发布时间】:2015-07-11 23:35:17 【问题描述】:

我已经有一个发布的未签名版本 apk,我正在尝试在我的 mac 上对其进行签名。在最后一步,它建议对签名的 apk 进行 zipalign,但 mac 没有 zipalign。

我做了'brew search'仍然找不到它。我在网上搜索并找不到独立的 zipalign 脚本。我什至从http://developer.android.com/sdk/index.html#Other 下载了大约 90M 的 Android sdk 工具,但仍然没有发现里面的 zipalign。

所以我的问题是,给你一个“apk”文件在 mac 上签名,如何通过最后一个“zipalign”步骤?

【问题讨论】:

Zipalign - Command not found - MAC terminal的可能重复 你是说为了使用'zipalign'我必须下载250M android studio并安装在mac上吗?因为所有这些帖子都提到了某种 android sdk 安装路径。 我认为可以,但不能保证 如果您安装了 SDK,您应该可以在命令行上执行“android zipalign -v file.apk dest.apk” 【参考方案1】:

感谢 RC 提供的信息。

我终于熬过来了。我做了以下步骤:

    从官网下载250M+ android studio ide dmg。将其拖到应用程序文件夹中 打开它,它会自动下载很多额外的东西 我什至创建了一个空的新项目。

然后在某个步骤(我不确定是哪一步)它在这里创建了 zipalign:

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

如果您只需要“zipalign”,则无需重做那些步骤,这需要时间和磁盘空间。我把它提取到了github(不敢相信没有人提取它-_-):

https://github.com/catccaatt/zipalign

【讨论】:

Mac 用户:如果您收到类似的错误:无法执行 ./zipalign: Bad CPU type in executable,您可能需要 64 位版本的 ZipAlign。可在此处获取:github.com/spanishsnapper/zipalign(从 Studio 29.0.2 中提取)【参考方案2】:

从您的 Mac 终端:

将 adb 添加到命令行路径:

echo 'export ANDROID_HOME=/Users/$USER/Library/Android/sdk' >> ~/.bash_profile

将构建工具添加到命令行路径:

echo 'export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/28.0.2' >> ~/.bash_profile

刷新命令行:

source ~/.bash_profile

然后你可以运行它:

zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk

【讨论】:

确保 build-tools/version 与您安装的版本相匹配,我的是 28.0.3。 您可以使用 find ~/Library/Android/sdk/build-tools -name "zipalign" 来查找系统中的 zipalign 路径

以上是关于如何为 mac 获取 zipalign?的主要内容,如果未能解决你的问题,请参考以下文章

Mac 10.15 Catalina:无法打开“Zipalign”,因为无法验证开发者

如何为 Mac 创建 Cocoa App 首选项?

如何为 Mac/Windows 捆绑 Java 应用程序?

如何为 Docker LXC 容器设置 MAC 地址?

如何为 Mac 设置 SublimeLinter

如何为 mac 应用程序制作音量滑块