Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android zipalign:未找到命令_Android_Bash_Ionic Framework_Ionic - Fatal编程技术网

Android zipalign:未找到命令

Android zipalign:未找到命令,android,bash,ionic-framework,ionic,Android,Bash,Ionic Framework,Ionic,我现在正在从事Ionic项目,我想zipalignandroid发布unsigned.apk文件。我跟着 当我运行zipalign-v4/Users/zulhilmizainudin/Desktop/kl parking/platforms/android/build/outputs/apk/android-release-unsigned.apk android release.apk命令时,我得到-bash:zipalign:command not found错误 这就是zipalign在我

我现在正在从事Ionic项目,我想
zipalign
android发布unsigned.apk文件。我跟着

当我运行
zipalign-v4/Users/zulhilmizainudin/Desktop/kl parking/platforms/android/build/outputs/apk/android-release-unsigned.apk android release.apk
命令时,我得到
-bash:zipalign:command not found
错误

这就是zipalign在我的系统中的位置:

/Users/zulhilmizainudin/Library/Android/sdk/build-tools/21.1.2
我试图将zipalign复制到它里面,并将它放入我的Ionic项目文件夹中,然后再次运行zipalign命令。但是仍然没有找到相同的命令

我现在该怎么办?

解决了

  • 我将zipalign文件从我的
    库/Android/sdk/build tools/21.1.2
    复制到我的爱奥尼亚项目文件夹中

  • 我在zipalign命令前面添加了
    /
    ,如下-
    /zipalign-v4/Users/zulhilmizainudin/Desktop/kl parking/platforms/android/build/outputs/apk/android-release-unsigned.apk android release.apk

  • 完成了。现在我在爱奥尼亚项目文件夹中找到了安卓版本.apk


  • 感谢Michael的解决方案

    如果您使用的是Windows,正确的方法是将path作为path环境变量添加到zipalign.exe

  • 查找zipalign.exe在您的PC中的位置,在我的例子中,这是
  • C:\Users\random username\AppData\Local\Android\sdk1\build tools\24.0.1

  • 然后将此位置添加为项目中的一个项目

  • 为了避免每次生成发布版本时都指定或导航到sdk/build tools/*目录,只需将路径添加到环境变量中即可

    $sudo nano~/.bash_配置文件

    复制并粘贴以下内容:

    导出路径=${PATH}:/Library/Android/sdk/buildtools/21.1.2

    然后,您可以保存并退出:

    控件+o//以保存到文件
    控件+x//关闭文件
    $source~/.bash\u配置文件


    然后,您可以从project CLI目录运行
    zipalign
    命令。

    自从从USB live安装程序安装Kali以来,我遇到了几个问题。 我发现我需要将其添加到我的
    文件夹中的
    /etc/apt
    文件中。 只需将
    源的内容替换为:

    debhttp://http.kali.org/kali 卡利滚动主控器非自由
    deb srchttp://http.kali.org/kali 卡利滚动主控器非自由
    黛布http://old.kali.org/kali 萨那主要非自由缔约国
    黛布http://ftp.de.debian.org/debian 喘息管
    您应该为APK执行(对齐、签名和验证)。 在mac中,应执行以下步骤:

    A-对齐APK:

    /Users/mina/app_signed.apk
    
    1-您应该在android SDK中找到构建工具:

    /Users/mina/Downloads/sdk/build-tools/29.0.3/zipalign
    
    /Users/mina/Downloads/sdk/build-tools/29.0.3/apksigner
    
    2-您应该找到您的未签名apk

     /Users/mina/Desktop/apks/app_unsigned.apk
    
    3-应运行包含以下内容的命令:

    zipalign_path+-v-p4+无符号_apk_path+输出_aligned_apk_name

    /Users/mina/Downloads/sdk/build-tools/29.0.3/zipalign -v -p 4 
    /Users/mina/Desktop/apks/app-unsigned.apk app_aligned.apk
    
    /Users/mina/Downloads/sdk/build-tools/29.0.3/apksigner sign --ks 
    /Users/mina/Desktop/keys/release-keystore.jks                                                    
     --out app_signed.apk app_aligned.apk
    
    4-输出验证成功

    B-签署APK:

    /Users/mina/app_signed.apk
    
    1-您应该在android SDK中找到您的构建工具:

    /Users/mina/Downloads/sdk/build-tools/29.0.3/zipalign
    
    /Users/mina/Downloads/sdk/build-tools/29.0.3/apksigner
    
    2-您应该在pc中找到您的发行密钥库:

    /Users/mina/Desktop/keys/release-Keystore.jks
    
    3-应运行包含以下内容的命令:

    apksigner\u path+签名--ks+release-Keystore\u path+--out+输出\u签名\u apk\u name+来自\u对齐\u apk\u name

    /Users/mina/Downloads/sdk/build-tools/29.0.3/zipalign -v -p 4 
    /Users/mina/Desktop/apks/app-unsigned.apk app_aligned.apk
    
    /Users/mina/Downloads/sdk/build-tools/29.0.3/apksigner sign --ks 
    /Users/mina/Desktop/keys/release-keystore.jks                                                    
     --out app_signed.apk app_aligned.apk
    
    4-输入密钥存储密码

    C-验证APK:

    /Users/mina/app_signed.apk
    
    1-运行以下命令:apksigner\u path+verify+app\u signed.apk

    /Users/mina/Downloads/sdk/build-tools/29.0.3/apksigner verify 
    app_signed.apk
    
    注意:您可能会发现一些警告:

     WARNING: META-INF/.... 
    
    以下是关于这方面的一些描述:

    实际上,这些文件并不重要,它们大多是您所依赖的库的版本,因此即使有人修改了这些文件,也不会对您的应用程序产生任何影响。这就是为什么它只是一个警告:APK中的那些文件可以被其他人修改,同时仍然假装APK是由您签名的,但是这些文件并不重要

    D-查找您的签名APK:

    /Users/mina/app_signed.apk
    

    如果您正在制作ionic release build,那么您可以在应用程序的根文件夹上制作build.json文件,其中包含以下信息

    {
    "android": {
       "release": {
       "keystore": "Your keystore",
       "storePassword": "password",
       "alias": "alias name",
       "password" : "password",
       "keystoreType": ""
        }
    }  }
    
    确保您可以将密钥库放在应用程序的根文件夹中,或在密钥库对象中提供密钥库的完整路径

    现在,您可以按如下方式运行此命令

    ionic cordova build android --release
    
    此命令将自动找到build.json并生成已签名的发布版本。

    已解决

    我照迈克尔说的复制了zipalign文件 (从my Library/Android/SDK/build tools/28.0.3进入我的Ionic项目文件夹)

    但是当我跑的时候

    ./zipalign -v 4 app-release-unsigned.apk botellamovil.apk
    
    我得到

    所以,我还复制了lib&lib64文件,然后它就可以工作了


    我希望它会有帮助:)(对不起,我的英语很差)

    这在Mac上对我很有效。安装并运行Android Studio(一次启动很重要)。 然后查找zipalign:

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

    我通过将zipalign路径设置为环境变量来解决此问题:

    export ZIPALIGN_PATH=~/Library/Android/sdk/build-tools/30.0.3/zipalign
    

    然后,我在试图运行的脚本中将
    zipalign
    替换为
    $zipalign_PATH
    “我试图将zipalign复制到脚本中,并将其放入我的Ionic project文件夹中,然后再次运行zipalign命令。但仍然找不到相同的命令。”如果运行
    /zipalign
    ,该怎么办?
    zipalign
    所在的目录不在您的路径中,这就是为什么在运行时必须指定
    zipalign
    的位置。如何在我的路径中找到
    zipalign
    ?要将构建工具目录添加到路径中,您可以使用类似
    export PATH=$PATH:/Users/zulhilmizainudin/Library/Android/sdk/build tools/21.1.2
    的方法链接,而不是复制二进制文件本身。这是唯一的解决方案。我尝试了10000个建议解决方案,只有这1个有效。谢谢@Zulhilmi在我的情况下它没有扔任何东西