diff --git a/eyes-two/build.gradle b/eyes-two/build.gradle index c0a7a7fda..18e2ad440 100644 --- a/eyes-two/build.gradle +++ b/eyes-two/build.gradle @@ -14,13 +14,8 @@ android { targetSdkVersion 9 versionCode 1 versionName "1.0" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } + proguardFiles 'proguard-rules.pro' + consumerProguardFiles 'proguard-rules.pro' } sourceSets { diff --git a/eyes-two/proguard-rules.pro b/eyes-two/proguard-rules.pro index ca7d29201..7a905f84e 100644 --- a/eyes-two/proguard-rules.pro +++ b/eyes-two/proguard-rules.pro @@ -1,13 +1,68 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /Users/aaargh/android-sdks/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. # -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html +# Adapted from example file: +# android-sdk/tools/proguard/examples/library.pro +# +# This ProGuard configuration file illustrates how to process a program +# library, such that it remains usable as a library. +# + +# Don't obfuscate field and method names. + +-dontobfuscate + +# Preserve all annotations. + +-keepattributes *Annotation* + +# Preserve all public classes, and their public and protected fields and +# methods. + +-keep public class * { + public protected *; +} + +# Preserve all .class method names. + +-keepclassmembernames class * { + java.lang.Class class$(java.lang.String); + java.lang.Class class$(java.lang.String, boolean); +} + +# Preserve all native method names and the names of their classes. + +-keepclasseswithmembernames class * { + native ; +} + +# Preserve the special static methods that are required in all enumeration +# classes. + +-keepclassmembers class * extends java.lang.Enum { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# Explicitly preserve all serialization members. The Serializable interface +# is only a marker interface, so it wouldn't save them. +# You can comment this out if your library doesn't use serialization. +# If your code contains serializable classes that have to be backward +# compatible, please refer to the manual. + +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + static final java.io.ObjectStreamField[] serialPersistentFields; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# Your library may contain more items that need to be preserved; +# typically classes that are dynamically created using Class.forName: -# Add any project specific keep options here: +# -keep public class mypackage.MyClass +# -keep public interface mypackage.MyInterface +# -keep public class * implements mypackage.MyInterface -keep class com.googlecode.eyesfree.textdetect.HydrogenTextDetector { private long mNative; diff --git a/tess-two-test/build.gradle b/tess-two-test/build.gradle index c6c1307be..75cb80f2f 100644 --- a/tess-two-test/build.gradle +++ b/tess-two-test/build.gradle @@ -11,13 +11,6 @@ android { versionName "1.0" } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - sourceSets { main { manifest.srcFile 'AndroidManifest.xml' diff --git a/tess-two/build.gradle b/tess-two/build.gradle index 1281f1f02..afc16f2ac 100644 --- a/tess-two/build.gradle +++ b/tess-two/build.gradle @@ -16,13 +16,8 @@ android { targetSdkVersion 22 versionCode 1 versionName "1.0" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } + proguardFiles 'proguard-rules.pro' + consumerProguardFiles 'proguard-rules.pro' } sourceSets { diff --git a/tess-two/proguard-rules.pro b/tess-two/proguard-rules.pro index 818cf1751..08f313b27 100644 --- a/tess-two/proguard-rules.pro +++ b/tess-two/proguard-rules.pro @@ -1,13 +1,68 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /Users/aaargh/android-sdks/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. # -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html +# Adapted from example file: +# android-sdk/tools/proguard/examples/library.pro +# +# This ProGuard configuration file illustrates how to process a program +# library, such that it remains usable as a library. +# + +# Don't obfuscate field and method names. + +-dontobfuscate + +# Preserve all annotations. + +-keepattributes *Annotation* + +# Preserve all public classes, and their public and protected fields and +# methods. + +-keep public class * { + public protected *; +} + +# Preserve all .class method names. + +-keepclassmembernames class * { + java.lang.Class class$(java.lang.String); + java.lang.Class class$(java.lang.String, boolean); +} + +# Preserve all native method names and the names of their classes. + +-keepclasseswithmembernames class * { + native ; +} + +# Preserve the special static methods that are required in all enumeration +# classes. + +-keepclassmembers class * extends java.lang.Enum { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# Explicitly preserve all serialization members. The Serializable interface +# is only a marker interface, so it wouldn't save them. +# You can comment this out if your library doesn't use serialization. +# If your code contains serializable classes that have to be backward +# compatible, please refer to the manual. + +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + static final java.io.ObjectStreamField[] serialPersistentFields; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# Your library may contain more items that need to be preserved; +# typically classes that are dynamically created using Class.forName: -# Add any project specific keep options here: +# -keep public class mypackage.MyClass +# -keep public interface mypackage.MyInterface +# -keep public class * implements mypackage.MyInterface -keep class com.googlecode.leptonica.android.Box { private long mNativeBox;