Proguard setting
Proguard setting of Geniee SDK
To obfuscate the project using Geniee SDK, add the setting of -keep class as follows.
# Geniee SDK
-keep class jp.co.geniee.** { *; }
-dontwarn jp.co.geniee.**
1
2
3
2
3
Proguard settings for video reward
When using RewardVideo, you need to set Proguard settings for each ad network in addition to the above settings.
Proguard settings for all ad networks
# AdColony SDK
## For communication with AdColony's WebView
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
## Keep ADCNative class members unobfuscated
-keepclassmembers class com.adcolony.sdk.ADCNative** {
*;
}
## For removing warnings due to lack of Multi-Window support
-dontwarn android.app.Activity
# Tapjoy
-keep class com.tapjoy.** { *; }
-keep class com.moat.** { *; }
-keepattributes JavascriptInterface
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.**
# Vungle SDK
## Vungle
-keep class com.vungle.warren.** { *; }
-dontwarn com.vungle.warren.error.VungleError$ErrorCode
## Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**
## Okio
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
## Retrofit
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
## Gson
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
## Google Android Advertising ID
-keep class com.google.android.gms.internal.** { *; }
-dontwarn com.google.android.gms.ads.identifier.**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Individual ad network settings
It is unnecessary to set it when all the ad network Proguard setting
is carried out.
Individual ad network settings
Maio only Proguard settings
- Proguard setting is unnecessary.
AppLovin only Proguard settings
- Proguard setting is unnecessary.
Unity Ads only Proguard settings
- Proguard setting is unnecessary.
AdColony only Proguard settings
AdColony only
# AdColony SDK
## For communication with AdColony's WebView
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
## Keep ADCNative class members unobfuscated
-keepclassmembers class com.adcolony.sdk.ADCNative** {
*;
}
## For removing warnings due to lack of Multi-Window support
-dontwarn android.app.Activity
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
CAReward only Proguard settings
- Proguard setting is unnecessary.
Tapjoy only Proguard settings
Tapjoy only
# Tapjoy
-keep class com.tapjoy.** { *; }
-keep class com.moat.** { *; }
-keepattributes JavascriptInterface
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Vungle only Proguard settings
Vungle only
# Vungle SDK
## Vungle
-keep class com.vungle.warren.** { *; }
-dontwarn com.vungle.warren.error.VungleError$ErrorCode
## Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**
## Okio
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
## Retrofit
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
## Gson
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
## Google Android Advertising ID
-keep class com.google.android.gms.internal.** { *; }
-dontwarn com.google.android.gms.ads.identifier.**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Nend only Proguard settings
Nend only
# Nend SDK
-keep class net.nend.android.** { *; }
-dontwarn net.nend.android.**
1
2
3
2
3
AMoAd only Proguard settings
- Proguard setting is unnecessary.