zipalign 验证失败 resources.arsc BAD-1

zipalign verification failed resources.arsc BAD-1

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

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

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

无需手动,执行此操作:

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

build.gradle

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

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

看我的回答here

试试下面的建议

buildTypes {
        release {
        }
        debug{
            debuggable false
        }
    }

或者在Manifest中设置Attribute android:debuggable="false" 生成构建和 运行 zipalign 工具验证成功。

派对有点晚了,但最近在从命令行对齐未签名的 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 当发布版本被标记为 debuggable 时,Studio Build > Generate Signed Bundle / APK 没有任何问题,因此它必须在签名 APK 的生成过程中覆盖一些 gradle 配置。

希望这对某人有所帮助。

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

这不是个好主意。

改为使用命令

./gradlew assembleRelease

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

或者使用@Nilesh Senta给出的答案

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

以防其他人在使用 gradle 插件“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 作为应用程序标签上的属性。