Skip to content
This repository has been archived by the owner on Mar 17, 2022. It is now read-only.

Commit

Permalink
Modify ProGuard settings. Addresses #166.
Browse files Browse the repository at this point in the history
  • Loading branch information
rmtheis committed Aug 21, 2016
1 parent 8de6e03 commit 15e9bac
Show file tree
Hide file tree
Showing 5 changed files with 130 additions and 37 deletions.
9 changes: 2 additions & 7 deletions eyes-two/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
71 changes: 63 additions & 8 deletions eyes-two/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -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 <methods>;
}

# 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;
Expand Down
7 changes: 0 additions & 7 deletions tess-two-test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
9 changes: 2 additions & 7 deletions tess-two/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
71 changes: 63 additions & 8 deletions tess-two/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -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 <methods>;
}

# 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;
Expand Down

0 comments on commit 15e9bac

Please sign in to comment.