Reputation: 53
While building app with proguard for release i got this error.
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
Warning:Exception while processing task java.io.IOException: Can't write
[C:\Users\sagar.HP\AndroidStudioProjects\MyApp\app\build\intermediates\
transforms\proguard\release\jars\3\1f\main.jar] (Can't read
[C:\Users\sagar.HP\.android\build-
cache\bf0ee9d089eb4a68c393\output\jars\classes.jar(;;;;;;**.class)]
(Duplicate zip entry [com/google/android/gms/internal/bs.class ==
classes.jar:com/google/android/gms/internal/zzas.class]))
build.gradle file:
android {
compileSdkVersion 25
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.ardent.sys.telugulivetv"
minSdkVersion 17
targetSdkVersion 25
versionCode 12
versionName "2.3.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
shrinkResources false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
project.ext { appName = 'Telugu Live TV' }
def formattedDate = new Date().format('yyyyMMddHHmmss')
def newName = output.outputFile.name
newName = newName.replace("app-", "$project.ext.appName-") //"MyAppName" -> I set my app variables in the root project
newName = newName.replace("-release", "-release" + formattedDate)
//noinspection GroovyAssignabilityCheck
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile files('libs/YouTubeAndroidPlayerApi.jar')
compile ('com.adincube.sdk:AdinCube-Java-206ebf:1.+@aar') {
transitive = true
}
compile('com.adincube.sdk:AdinCube-Native-RecyclerView-Extension:1.+') {
transitive = true
}
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.mcxiaoke.volley:library-aar:1.0.1'
compile 'com.google.firebase:firebase-crash:11.0.2'
compile 'com.google.firebase:firebase-core:11.0.2'
compile 'com.google.firebase:firebase-messaging:11.0.2'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.facebook.android:audience-network-sdk:4.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.code.gson:gson:2.8.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Proguard-rules.pro
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.okhttp.**
I read all the related questions, but that doesn't solved my problem. please help me solve this error.
Upvotes: 2
Views: 3339
Reputation: 45503
There is a conflict between play-service-ads
used by audience-network-sdk
facebook module and those used by firebase module. The following will fix it :
compile('com.facebook.android:audience-network-sdk:4.+') {
exclude module: 'play-services-ads'
}
compile 'com.google.android.gms:play-services-ads:11.0.2'
But after that, you have another conflict (not related to play-sevice this time) :
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/facebook/ads/AbstractAdListener.class
This happens because com.adincube.sdk:AdinCube-Java-206ebf
includes a dependency to com.adincube.partner:facebook
which has the package name com.facebook.ads
. I guess it's an unofficial modified package of facebook library. If you are sure you don't need this dependency, you can exclude it :
compile('com.adincube.sdk:AdinCube-Java-206ebf:1.+@aar') {
transitive = true
exclude module: 'facebook'
}
Otherwise contact adincube.com for instructions about integrating their module with com.facebook.android:audience-network-sdk
Upvotes: 4