236 lines
6.0 KiB
Plaintext
236 lines
6.0 KiB
Plaintext
# To enable ProGuard in your project, edit project.properties
|
|
# to define the proguard.config property as described in that file.
|
|
#
|
|
# Add project specific ProGuard rules here.
|
|
# By default, the flags in this file are appended to flags specified
|
|
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
|
# You can edit the include path and order by changing the ProGuard
|
|
# include property in project.properties.
|
|
#
|
|
# For more details, see
|
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
|
# Add any project specific keep options here:
|
|
|
|
# Needed to keep the JNI functions around
|
|
-keepclassmembers class com.epicgames.unreal.GameActivity {
|
|
public *;
|
|
}
|
|
-keep class * extends android.media.MediaPlayer {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MediaPlayer14 {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.VideoDecoder {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.AudioDecoder {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MessageBox01 {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.WebViewControl {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.BatteryReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.HeadsetReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.VolumeReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.LocalNotificationReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.CellularReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MulticastBroadcastReceiver {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.GameControllerManager {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.BitmapRendererImageReader {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.BitmapRendererLegacy {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.BitmapRenderer$FrameData {
|
|
public *;
|
|
}
|
|
# Needed...
|
|
|
|
-keep class com.epicgames.unreal.GameActivity$LaunchNotification {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.GameActivity$InputDeviceInfo {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.GameActivity$JavaAchievement {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MediaPlayer14$FrameUpdateInfo {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MediaPlayer14$AudioTrackInfo {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MediaPlayer14$CaptionTrackInfo {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.MediaPlayer14$VideoTrackInfo {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.WebViewControl {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.WebViewControl$ViewClient {
|
|
public *;
|
|
}
|
|
-keep class com.epicgames.unreal.WebViewControl$ChromeClient {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.WebViewControl$ViewClient {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.WebViewControl$ChromeClient {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.WebViewControl$FrameUpdateInfo {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.VideoDecoder$FrameUpdateInfo {
|
|
public *;
|
|
}
|
|
|
|
# If your project uses WebView with JS, uncomment the following
|
|
# and specify the fully qualified class name to the JavaScript interface
|
|
# class:
|
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
# public *;
|
|
#}
|
|
|
|
# Proguard flags for consumers of the Google Play services SDK
|
|
# https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project
|
|
|
|
-keep class * extends java.util.ListResourceBundle {
|
|
protected Object[][] getContents();
|
|
}
|
|
|
|
# Keep SafeParcelable value, needed for reflection. This is required to support backwards
|
|
# compatibility of some classes.
|
|
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
|
|
public static final *** NULL;
|
|
}
|
|
|
|
# Needed for Parcelable/SafeParcelable classes & their creators to not get renamed, as they are
|
|
# found via reflection.
|
|
-keepnames class * implements android.os.Parcelable
|
|
-keepclassmembers class * implements android.os.Parcelable {
|
|
public static final *** CREATOR;
|
|
}
|
|
|
|
# Keep the classes/members we need for client functionality.
|
|
-keep @interface androidx.annotation.Keep
|
|
-keep @androidx.annotation.Keep class *
|
|
-keepclasseswithmembers class * {
|
|
@androidx.annotation.Keep <fields>;
|
|
}
|
|
-keepclasseswithmembers class * {
|
|
@androidx.annotation.Keep <methods>;
|
|
}
|
|
|
|
# Keep the names of classes/members we need for client functionality.
|
|
-keep @interface com.google.android.gms.common.annotation.KeepName
|
|
-keepnames @com.google.android.gms.common.annotation.KeepName class *
|
|
-keepclassmembernames class * {
|
|
@com.google.android.gms.common.annotation.KeepName *;
|
|
}
|
|
|
|
# Keep Dynamite API entry points
|
|
-keep @interface com.google.android.gms.common.util.DynamiteApi
|
|
-keep public @com.google.android.gms.common.util.DynamiteApi class * {
|
|
public <fields>;
|
|
public <methods>;
|
|
}
|
|
|
|
# Keep @UsedByReflection and @UsedByNative
|
|
-keep class com.google.android.apps.common.proguard.UsedBy*
|
|
-keep @com.google.android.apps.common.proguard.UsedBy* class *
|
|
-keepclassmembers class * {
|
|
@com.google.android.apps.common.proguard.UsedBy* *;
|
|
}
|
|
|
|
# Needed when building against pre-Marshmallow SDK.
|
|
-dontwarn android.security.NetworkSecurityPolicy
|
|
|
|
# Needed when building against Marshmallow SDK.
|
|
-dontwarn android.app.Notification
|
|
|
|
# End Google Play services requirements
|
|
|
|
# Additional Google Play Services that seems to be needed
|
|
-keep class com.google.android.gms.games.NativeSdkCallbacks {
|
|
*;
|
|
}
|
|
-keep public class com.google.android.gms.**
|
|
{
|
|
public *;
|
|
}
|
|
-dontwarn com.google.android.gms.**
|
|
|
|
# Google Play Admob
|
|
-keep public class com.google.android.gms.ads.** {
|
|
public *;
|
|
}
|
|
|
|
-keep public class com.google.ads.** {
|
|
public *;
|
|
}
|
|
|
|
# Google Play Billing Services for In-App Purchases
|
|
-keep class com.android.vending.billing.** {
|
|
*;
|
|
}
|
|
|
|
-keep class com.android.vending.licensing.** {
|
|
*;
|
|
}
|
|
|
|
-keep class com.google.vending.licensing.** {
|
|
*;
|
|
}
|
|
|
|
-keep class epicgames.ue4.StoreHelper.** {
|
|
public *;
|
|
}
|
|
|
|
-keep class epicgames.ue4.GooglePlayStoreHelper.** {
|
|
public *;
|
|
}
|
|
|
|
-keep class com.epicgames.unreal.psoservices.PSOProgramServiceAccessor$JNIProgramLinkResponse
|
|
{
|
|
*;
|
|
}
|
|
|
|
-keepclassmembers, allowoptimization class com.epicgames.unreal.psoservices.PSOProgramServiceAccessor
|
|
{
|
|
public static *** AndroidThunkJava_*(...);
|
|
}
|
|
|
|
-dontwarn com.google.vr.cardboard.AndroidNCompat
|
|
-dontwarn com.google.vr.cardboard.StoragePermissionUtils
|
|
-dontwarn sun.misc.Unsafe |