Generate Signed APK: Errors while building APK Android Studio
Solution 1
You are getting
Removed unused resources: Binary resource data reduced from 741KB to 402KB: Removed 45%
Note: If necessary, you can disable resource shrinking by adding
android {
buildTypes {
release {
shrinkResources false
}
}
}
:app:validateExternalOverrideSigning
:app:packageRelease FAILED
Error:Execution failed for task ':app:packageRelease'.
Resource shrinking works only in conjunction with code shrinking.
minifyEnabled is an Android tool that will decrease the size of your application when you go to build it .
android {
buildTypes {
release {
shrinkResources true // This must be first
minifyEnabled true // This must be after shrinkResources
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
If you haven't already built your app using minifyEnabled for code shrinking, then try that before enabling shrinkResources, because you might need to edit your proguard-rules.pro file to keep classes or methods that are created or invoked dynamically before you start removing resources.
Please read official Guideline about Shrink Your Code and Resources
Advice
Use latest version
compileSdkVersion 25
buildToolsVersion '25.0.1'
targetSdkVersion 25
compile 'com.android.support:appcompat-v7:25.1.0' // set other 25.1.0
NOTE
YouTubeRecyclerViewFragment.java uses or overrides a deprecated API.
Use Alternate Latest Version .
Solution 2
First check whether you really need to use shrinkResources
If so, do as suggested in developers link https://developer.android.com/studio/build/shrink-code.html#shrink-resources mentioned above by IntelliJ Amiya, you have to use like below
android { buildTypes { release { shrinkResources true // -- always add this above minifyEnabled -- minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
Solution 3
Try to generate signed APK using terminal by gradle command see your stack trace that will give you detailed log where has the problem.
In Windows
$gradle clean
$ gradle --stacktrace assembleRelease
In Ubuntu
$./gradlew clean
$./gradlew --stacktrace assembleRelease
if you have still problem post you stack trace here
Solution 4
Clean project and start again generate signed Build/Apk. its working fine for me.
Sophie
Updated on July 22, 2022Comments
-
Sophie almost 2 years
I am unable to generate Signed APK using
minifyEnabled true
andshrinkResources true
App Level : build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } apply plugin: 'com.android.application' repositories { mavenCentral() } android { compileSdkVersion 23 buildToolsVersion '22.0.1' defaultConfig { applicationId "......." minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { debug { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } configurations { compile.exclude group: "org.apache.httpcomponents", module: "httpclient" } } dependencies { compile 'com.android.support:design:23.0.1' compile 'com.android.support:cardview-v7:23.0.1' compile 'com.android.support:recyclerview-v7:23.0.1' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.google.apis:google-api-services-youtube:v3-rev149-1.20.0' compile 'com.google.http-client:google-http-client-android:1.20.0' compile 'com.google.api-client:google-api-client-android:1.20.0' compile 'com.google.api-client:google-api-client-gson:1.20.0' compile files('libs/YouTubeAndroidPlayerApi.jar') compile 'com.github.clans:fab:1.6.2' }
MessageView
Information:Gradle tasks [:app:assembleRelease] :app:preBuild UP-TO-DATE :app:preReleaseBuild UP-TO-DATE :app:checkReleaseManifest :app:preDebugBuild UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE :app:prepareComAndroidSupportCardviewV72301Library UP-TO-DATE :app:prepareComAndroidSupportDesign2301Library UP-TO-DATE :app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE :app:prepareComGithubClansFab162Library UP-TO-DATE :app:prepareReleaseDependencies :app:compileReleaseAidl :app:compileReleaseRenderscript :app:generateReleaseBuildConfig :app:generateReleaseAssets UP-TO-DATE :app:mergeReleaseAssets :app:generateReleaseResValues UP-TO-DATE :app:generateReleaseResources :app:mergeReleaseResources :app:processReleaseManifest :app:processReleaseResources :app:generateReleaseSources :app:processReleaseJavaRes UP-TO-DATE :app:compileReleaseJavaWithJavac Note: .....YouTubeRecyclerViewFragment.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: ....GetPlaylistAsyncTask.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. :app:compileReleaseNdk UP-TO-DATE :app:compileReleaseSources :app:proguardRelease UP-TO-DATE :app:dexRelease :app:shrinkReleaseResources Removed unused resources: Binary resource data reduced from 741KB to 402KB: Removed 45% Note: If necessary, you can disable resource shrinking by adding android { buildTypes { release { shrinkResources false } } } :app:validateExternalOverrideSigning :app:packageRelease FAILED Error:Execution failed for task ':app:packageRelease'. > Unable to compute hash of ....\app\build\intermediates\classes-proguard\release\classes.jar Information:BUILD FAILED Information:Total time: 7.45 secs Information:1 error Information:0 warnings Information:See complete output in console