Android zipalign:未找到命令-Ubuntu

Android zipalign:未找到命令-Ubuntu,android,ubuntu,Android,Ubuntu,我正在尝试使用命令行在Ubuntu14.04LTS系统上zipalign一个“input.apk”文件,因为我还没有访问源代码的权限。如果我没有弄错的话,我应该可以用下面的命令来完成 zipalign [-f] [-v] 4 intput.apk output.apk 但是我得到了以下输出 zipalign: command not found Zip alignment utility Copyright (C) 2009 The Android Open Source Project

我正在尝试使用命令行在Ubuntu14.04LTS系统上zipalign一个“input.apk”文件,因为我还没有访问源代码的权限。如果我没有弄错的话,我应该可以用下面的命令来完成

zipalign [-f] [-v] 4 intput.apk output.apk
但是我得到了以下输出

zipalign: command not found
Zip alignment utility
Copyright (C) 2009 The Android Open Source Project

Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
       zipalign -c [-v] <align> infile.zip

   <align>: alignment in bytes, e.g. '4' provides 32-bit alignment
   -c: check alignment only (does not modify file)
   -f: overwrite existing outfile.zip
   -v: verbose output
我已经确保zipalign文件位于我的…sdk/tools目录中,我必须从我的…build tools/android-4.4W文件夹中复制它,因为它最初不存在。当我按照另一个问题中的建议输入这一行时

./zipalign [-f] [-v] 4 intput.apk output.apk
我得到以下输出

zipalign: command not found
Zip alignment utility
Copyright (C) 2009 The Android Open Source Project

Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
       zipalign -c [-v] <align> infile.zip

   <align>: alignment in bytes, e.g. '4' provides 32-bit alignment
   -c: check alignment only (does not modify file)
   -f: overwrite existing outfile.zip
   -v: verbose output
Zip对齐实用程序
版权所有(C)2009安卓开源项目
用法:zipalign[-f][v]infle.zip outfile.zip
zipalign-c[-v]infle.zip
:以字节为单位的对齐,例如,“4”提供32位对齐
-c:仅检查对齐方式(不修改文件)
-f:覆盖现有outfile.zip
-v:详细输出

这是否意味着我需要一个.zip文件而不是.apk来zipalign?

当使用情况消息包含括号中的参数时,括号表示该参数是可选的,可以在最终命令中省略;括号本身不是命令语法的一部分

在您的情况下,正确的用法可能如下所示:

./zipalign -v 4 intput.apk output.apk 
  • 打开终端(CTRL+t)
  • cd YOUR_PATH/android sdk linux/build tools/XX.X.X
  • sudo cp zipalign/usr/bin/
  • 打开终端中apk所在的文件夹
  • 执行zipalign-v4 YOUR_APK.APK YOUR_APK.APK
  • 在候机楼

    cd /opt/android-sdk/build-tools/21.1.2
    
    sudo ln -sf zipalign /usr/bin/
    
    zipalign -v 4 platforms/android/ant-build/MainActivity-release-unsigned.apk platforms/android/ant-build/YOUR_APP.apk
    

    我也有同样的问题。我就是这样解决的,您所需要的就是这里。
    1.通过在android studio上获取sdk路径来获取zipalign路径。这对我来说是
    /Users/s****/Library/Android/sdk

    2.将终端和cd上的路径粘贴到“build tools/28.0.3/zipalign”现在命令将是
    /Users/s****/Library/Android/sdk/build tools/28.0.3/zipalign

    3.通过将
    -v 4 app-release-unsigned.apk my.apk
    添加到命令中,在同一命令行上压缩apk,现在命令将
    /Users/s****/Library/Android/sdk/build tools/28.0.3/zipalign-v 4 app-release-unsigned.apk my.apk


    四,完成。

    是的,那篇文章中的答案对我不起作用,我认为我仍然做了一些错误的事情。请尝试运行以下命令:./zipalign-v4 intput.apk output。apk@Haresh工作!谢谢你。我猜-f和-c命令需要一个输出文件来开始,或者其他什么。请您批准ans以便它可以帮助其他人吗?非常感谢您的回答。我花了将近1个小时才找到问题。。你帮了我一天的忙@joselang@joselang在64位机器上运行这个命令也不足以像我遇到的那样给出“zipalign:加载共享库时出错:libc++.so:无法打开共享对象文件:没有这样的文件或目录…”。。。在这种情况下,我用Liaau的答案解决了这个问题:jenkins@ip-172-31-22-20:~/workspace/PP_androidBuild/PatientPortal$zipalign-v4/var/lib/jenkins/workspace/PP_androidBuild/PatientPortal/platforms/android/build/outputs/apk/android-debug.apk Zip对齐实用程序版权所有2009安卓开源项目用法:zipalign[-f][-p][-v][-z]infle.zip outfile.zip zipalign-c[-v]infle.zip:以字节为单位的对齐方式,例如,“4”提供32位对齐方式-c:仅检查对齐方式(不修改文件)-f:覆盖现有outfile.zip-v:详细输出