Skip to content

Commit 7d39ba9

Browse files
committed
add proguard
1 parent 47fc35c commit 7d39ba9

File tree

4 files changed

+87
-4
lines changed

4 files changed

+87
-4
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ buildscript {
2525
jcenter()
2626
}
2727
dependencies {
28-
classpath 'com.android.tools.build:gradle:2.3.0'
28+
classpath 'com.android.tools.build:gradle:2.3.1'
2929
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
3030
// NOTE: Do not place your application dependencies here; they belong
3131
// in the individual module build.gradle files

canvasgl/build.gradle

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,24 @@ android {
2828
defaultConfig {
2929
minSdkVersion 14
3030
targetSdkVersion 25
31-
versionCode 102002
32-
versionName "1.2.1.0"
31+
versionCode 102011
32+
versionName "1.2.1.1"
3333
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
3434
}
3535
buildTypes {
3636
release {
37-
minifyEnabled false
37+
minifyEnabled true
3838
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
3939
}
4040
}
41+
42+
lintOptions {
43+
checkReleaseBuilds false
44+
// Or, if you prefer, you can continue to check for errors in release builds,
45+
// but continue the build even when errors are found:
46+
abortOnError false
47+
}
48+
4149
}
4250

4351
dependencies {

canvasgl/proguard-rules.pro

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,71 @@
1515
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
1616
# public *;
1717
#}
18+
19+
20+
-dontpreverify
21+
-repackageclasses ''
22+
-allowaccessmodification
23+
-optimizations !code/simplification/arithmetic
24+
-keepparameternames
25+
-renamesourcefileattribute SourceFile
26+
-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
27+
28+
-keep public class * {
29+
public protected *;
30+
}
31+
32+
-keepclassmembernames class * {
33+
java.lang.Class class$(java.lang.String);
34+
java.lang.Class class$(java.lang.String, boolean);
35+
}
36+
37+
-keepclasseswithmembernames,includedescriptorclasses class * {
38+
native <methods>;
39+
}
40+
41+
-keepclassmembers,allowoptimization enum * {
42+
public static **[] values(); public static ** valueOf(java.lang.String);
43+
}
44+
45+
-keepclassmembers class * implements java.io.Serializable {
46+
static final long serialVersionUID;
47+
private static final java.io.ObjectStreamField[] serialPersistentFields;
48+
private void writeObject(java.io.ObjectOutputStream);
49+
private void readObject(java.io.ObjectInputStream);
50+
java.lang.Object writeReplace();
51+
java.lang.Object readResolve();
52+
}
53+
54+
-keep public class * extends android.view.View {
55+
public <init>(android.content.Context);
56+
public <init>(android.content.Context, android.util.AttributeSet);
57+
public <init>(android.content.Context, android.util.AttributeSet, int);
58+
public void set*(...);
59+
}
60+
61+
62+
-keepclasseswithmembers class * {
63+
public <init>(android.content.Context, android.util.AttributeSet);
64+
}
65+
66+
-keepclasseswithmembers class * {
67+
public <init>(android.content.Context, android.util.AttributeSet, int);
68+
}
69+
70+
-keepclassmembers class * extends android.content.Context {
71+
public void *(android.view.View);
72+
public void *(android.view.MenuItem);
73+
}
74+
75+
-keepclassmembers class * implements android.os.Parcelable {
76+
static ** CREATOR;
77+
}
78+
79+
-keepclassmembers class **.R$* {
80+
public static <fields>;
81+
}
82+
83+
-keepclassmembers class * {
84+
@android.webkit.JavascriptInterface <methods>;
85+
}

canvasglsample/build.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ android {
4040
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
4141
}
4242
}
43+
lintOptions {
44+
checkReleaseBuilds false
45+
// Or, if you prefer, you can continue to check for errors in release builds,
46+
// but continue the build even when errors are found:
47+
abortOnError false
48+
}
49+
4350
}
4451

4552
repositories {

0 commit comments

Comments
 (0)