Rikki Tikki Tavi Rikki Tikki Tavi - 7 months ago 245
Java Question

FileNotFoundException on proguard-rules.pro file

I'm using Android Studio v.1.0
My build file :

buildTypes {

debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}


but when I try to make a release build, I get an error :
Error:Execution failed for task ':app:proguardRelease'.


java.io.FileNotFoundException: F:....\app\proguard-rules.pro (File not found)


I think, that proguard-android.txt is a part of Android SDK, am I right ?

And why Android Studio can't find it ?

I also tried proguard-android.pro - the same result

Answer

I've created my own proguard-android.pro file and that works properly for me :

-dontwarn org.apache.commons.**
-dontwarn com.google.**
-dontwarn com.j256.ormlite**
-dontwarn org.apache.http**

-keepattributes SourceFile,LineNumberTable
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }

-keepattributes Signature
# GSON Library
# For using GSON @Expose annotation
-keepattributes *Annotation*

# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }

# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }

# Google Map
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }