maghfirzakir
maghfirzakir

Reputation: 848

zipalign verification failed resources.arsc BAD-1

enter image description here

I try to upload my app to gplay but fail because my apk doesn't zipaligned. i try to zipalign but i got verification failed. really don't have idea, someone please tell me what to do. thanks in advance.

Upvotes: 9

Views: 12374

Answers (7)

Klitos G.
Klitos G.

Reputation: 836

In case someone else has the same problem with gradle plugin '3.6.0' and later and because I spent several hours trying to track this down.

Gradle Plugin 3.6.0 is page aligning and packaging your native libraries uncompressed https://developer.android.com/studio/releases/gradle-plugin?hl=el#3-6-0

The fix is to disable the uncompressed packaging of your native libraries by adding

android:extractNativeLibs="true"

to your AndroidManifest.xml as an attribute on the application tag.

Upvotes: 10

jcomeau_ictx
jcomeau_ictx

Reputation: 38422

I had read that you needed to align the APK before signing; that if you sign first, then align, it would break the signature. That was false information. Sign first, then zipalign, then upload.

Upvotes: -2

Katta Naresh
Katta Naresh

Reputation: 91

This issue will come when you are trying to zipalign and sign a debug apk.

That is not a good idea.

Instead use the command

./gradlew assembleRelease

to generate release unsigned apk. Then zipalign the output apk.

Or use the answer given by @Nilesh Senta

Upvotes: 2

SimplyJaymin
SimplyJaymin

Reputation: 444

A little late to the party, but recently had the same issue when aligning the unsigned apk from command line. The zipalign command failed as I had the following code in the gradle file -

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

Zipalign was failing, but wasn't pointing to the fact that a release version cannot be marked as debuggable. Android Studio Build > Generate Signed Bundle / APK had no issues when the release version was marked as debuggable, so it must be overwriting some of the gradle configurations during the generation of the signed APK.

Hope this helps someone.

Upvotes: 1

Nilesh Senta
Nilesh Senta

Reputation: 5472

Try below suggestion

buildTypes {
        release {
        }
        debug{
            debuggable false
        }
    }

Or set Attribute in Manifest android:debuggable="false" Generate build and run zipalign tool Verification Success.

Upvotes: 4

Vrajesh
Vrajesh

Reputation: 1322

No need to manually, do this:

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'

to

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

see my answer here

Upvotes: 8

Ishmael Chibvuri
Ishmael Chibvuri

Reputation: 441

I found an easier way - just align from commandline.. TWICE! After aligning two times I was able to upload my apk.

Delete the OLD file and Rename the Second One and Align it Again..

Upvotes: 31

Related Questions