Files
UnrealEngine/Engine/Build/Android/Java/proguard-project.txt
2025-05-18 13:04:45 +08:00

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