8

在此处输入图像描述

我尝试将我的应用程序上传到 gplay 但失败,因为我的 apk 没有压缩对齐。我尝试 zipalign,但验证失败。真的不知道,有人请告诉我该怎么做。提前致谢。

4

7 回答 7

31

我找到了一种更简单的方法 - 只需从命令行对齐.. TWICE!对齐两次后,我能够上传我的 apk。

删除旧文件并重命名第二个文件并再次对齐..

于 2016-06-28T11:23:02.180 回答
8

无需手动,执行以下操作:

buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
                zipAlignEnabled true 
               //uncomment for automatically zip aligned by studio
            }
        }

构建.gradle

 set classpath 'com.android.tools.build:gradle:2.2.0-alpha3'

classpath 'com.android.tools.build:gradle:2.1.2'

在这里查看我的答案

于 2016-07-01T17:19:43.340 回答
8

万一其他人对 gradle plugin '3.6.0' 及更高版本有同样的问题,因为我花了几个小时试图追踪这个问题。

Gradle 插件 3.6.0 正在页面对齐和打包您的原生库未压缩 https://developer.android.com/studio/releases/gradle-plugin?hl=el#3-6-0

修复方法是通过添加禁用原生库的未压缩打包

android:extractNativeLibs="true"

将您的 AndroidManifest.xml 作为应用程序标记上的属性。

于 2020-05-29T16:56:41.413 回答
4

试试下面的建议

buildTypes {
        release {
        }
        debug{
            debuggable false
        }
    }

或者在 Manifest 中设置 Attribute android:debuggable="false" Generate build and run zipalign tool Verification Success。

于 2017-03-06T12:09:21.170 回答
2

当您尝试 zipalign 并签署调试 apk 时,会出现此问题。

这不是一个好主意。

而是使用命令

./gradlew assembleRelease

生成发布未签名的 apk。然后 zipalign 输出 apk。

或使用@Nilesh Senta 给出的答案

于 2019-01-24T23:51:07.970 回答
1

聚会有点晚了,但最近在从命令行对齐未签名的 apk 时遇到了同样的问题。zipalign 命令失败,因为我在 gradle 文件中有以下代码 -

buildTypes {
    debug {
        debuggable true
    }
    release {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        zipAlignEnabled true
    }
}

Zipalign 失败了,但并没有指出发布版本不能标记为debuggable. 当发布版本标记为 时, Android StudioBuild > Generate Signed Bundle / APK没有问题debuggable,因此它必须在生成签名的 APK 期间覆盖一些 gradle 配置。

希望这可以帮助某人。

于 2018-10-01T15:20:20.650 回答
-2

我读到您需要在签名之前对齐 APK;如果你先签名,然后对齐,它会破坏签名。那是虚假信息。先签名,然后 zipalign,然后上传。

于 2020-04-22T17:32:45.017 回答