gpt4 book ai didi

android - 在 Cocos2d-JS 游戏上的 Playscape SDK 1.14 上使用 proguard 混淆导致崩溃

转载 作者:行者123 更新时间:2023-11-29 00:07:54 25 4
gpt4 key购买 nike

我们已更新到 Playscape SDK 1.14,当我们尝试构建一个发布 APK 时,它在尝试使用混淆器混淆我们的库时崩溃。

这是我们使用的 proguard.cfg:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-keep public class !com.pupgam.** { *; }
-dontpreverify
-dontoptimize
-verbose

-keep public class com.pupgam.ads.AdListener { *; }
-keep public class com.pupgam.ads.VideoListener { *; }
-keep public class com.pupgam.notifications.OnceService { *; }
-keep public class com.pupgam.crossyskyguriko.CrossySkyMainActivity { *; }
-keep public class com.pupgam.manager.IabManager { *; }

-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
native <methods>;
static <methods>;
}

-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}

-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 **$$ModuleAdapter
-keep class **$$InjectAdapter
-keep class **$$StaticInjection

-keepattributes Signature

-keepattributes *Annotation*

-keep class com.playscape.** { *; }
-keep class com.mominis.** { *; }
-keep class mobpartner.** { *; }
-keep class mominis.** { *; }
-keep class com.android.** { *; }
-keep class com.android.volley.* {*;}
-keep class com.google.vending.* {*;}
-keep class javax.** { *; }
-keep class org.** { *; }
-keep class com.amazon.** { *; }
-keep class com.startapp.** { *; }
-keep class com.millennialmedia.** { *; }
-keep class com.chartboost.** { *; }
-keep class com.jirbo.** { *; }
-keep class com.google.** { *; }
-keep class com.facebook.** { *; }
-keep class com.vungle.** { *; }

-dontnote android.support.**
-dontnote com.adience.sdk.SdkBootReceiver
-dontnote com.adience.sdk.av
-dontnote com.google.android.gms.maps.internal.u
-dontnote com.google.gson.internal.UnsafeAllocator
-dontnote com.millennialmedia.google.gson.internal.UnsafeAllocator
-dontnote com.startapp.android.publish.gson.internal.UnsafeAllocator
-dontnote com.vungle.publisher.cm

-dontnote com.google.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
-dontnote com.millennialmedia.android.VideoPlayer
-dontnote com.mopub.mobileads.MoPubActivity
-dontnote com.mopub.mobileads.MraidActivity
-dontnote com.mopub.mobileads.MraidBrowser
-dontnote com.mopub.mobileads.MraidVideoPlayerActivity
-dontnote com.playscape.utils.gcm.GCMBroadcastReceiver
-dontnote com.playscape.utils.kernel.NotificationActionListener
-dontnote com.vungle.sdk.VungleIntentService
-dontnote mominis.gameconsole.activities.RedirectToMarketActivity
-dontnote mominis.gameconsole.services.impl.SocialService

-keep class com.google.vending.licensing.ILicensingService
-keep class com.android.vending.licensing.ILicensingService
-keep class com.millennialmedia.android.VideoPlayer
-keep class com.mopub.mobileads.MoPubActivity
-keep class com.mopub.mobileads.MraidActivity
-keep class com.mopub.mobileads.MraidBrowser
-keep class com.mopub.mobileads.MraidVideoPlayerActivity
-keep class com.playscape.utils.gcm.GCMBroadcastReceiver
-keep class com.playscape.utils.kernel.NotificationActionListener
-keep class com.vungle.sdk.VungleIntentService
-keep class mominis.gameconsole.activities.RedirectToMarketActivity
-keep class mominis.gameconsole.services.impl.SocialService

-dontwarn com.millennialmedia.android.**

-dontwarn com.facebook.**
-dontwarn com.amazon.**
-dontwarn com.adience.sdk.e.y
-dontwarn com.playscape.gcm.services.impl.ClientSettings
-dontwarn com.playscape.utils.StrictModeDisabler

-dontwarn com.playscape.iap_utils.IPurchaseEventHandler$IPurchaseEventListener
-dontwarn mominis.common.MoDiMapper
-dontwarn com.playscape.lifecycle.ActivityLifeCycle
-dontwarn com.playscape.iap_utils.IPurchaseEventHandler
-dontwarn com.playscape.iap.AndroidRemoteLoggerAspect
-dontwarn com.playscape.lifecycle.ActivityAspect
-dontwarn com.playscape.playscapeapp.AutomatedEventLoger
-dontwarn com.playscape.playscapeapp.PlayscapeStartup
-dontwarn com.playscape.publishingkit.Playscape
-dontwarn com.playscape.publishingkit.PlayscapeActivityLifeCycle
-dontwarn com.playscape.publishingkit.PlayscapeDemoActivity
-dontwarn com.playscape.lifecycle.AppAspect
-dontwarn com.playscape.playscapeapp.AutomatedEventLoger$1
-dontwarn com.playscape.playscapeapp.PlayscapeStartup$AppMapper
-dontwarn com.playscape.playscapeapp.PlayscapeStartup$AppMapper

-dontnote com.playscape.playscapeapp.PlayscapeStartup
-dontnote com.playscape.publishingkit.Playscape

-keep class com.amatellanes.android.MainActivity
-dontwarn com.vungle.publisher.location.GoogleLocationClientDetailedLocationProvider
-dontnote com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl
-dontnote com.millennialmedia.google.gson.internal.$Gson$Types$ParameterizedTypeImpl
-dontnote com.startapp.android.publish.gson.internal.$Gson$Types$ParameterizedTypeImpl
-dontnote org.aspectj.internal.lang.reflect.AjTypeImpl
-dontnote org.aspectj.internal.lang.reflect.StringToType$1
-dontnote com.google.android.gms.maps.internal.x

我们使用默认的 proguard-project.txt 并与我们当前的配置合并,我们希望在其中混淆所有类,除了:

-keep public class com.pupgam.ads.AdListener { *; }
-keep public class com.pupgam.ads.VideoListener { *; }
-keep public class com.pupgam.notifications.OnceService { *; }
-keep public class com.pupgam.crossyskyguriko.CrossySkyMainActivity { *; }
-keep public class com.pupgam.manager.IabManager { *; }

根据custom_rules.xml执行proguard时报的异常:

BUILD FAILED
/Users/it4up/Desktop/CrossySky/frameworks/runtime-src/proj.android/custom_rules.xml:556: The following error occurred while executing this line:
/Users/it4up/Desktop/CrossySky/frameworks/runtime-src/proj.android/custom_rules.xml:558: The following error occurred while executing this line:
/Users/it4up/Desktop/CrossySky/frameworks/runtime-src/proj.android/custom_rules.xml:570: The following error occurred while executing this line:
/Users/it4up/Desktop/CrossySky/frameworks/runtime-src/proj.android/custom_rules.xml:538: The following error occurred while executing this line:
/Users/it4up/Desktop/CrossySky/frameworks/runtime-src/proj.android/custom_rules.xml:497: Please correct the above warnings first.

最佳答案

你的 proguard 配置文件应该包含这些标志:

  • -keepattributes签名;
  • -dontwarn。指定完全不警告 Unresolved 引用和其他重要问题;
  • -dontnote。指定不打印有关配置中潜在错误或遗漏的注释。

也只需为您想要保留的类添加 -keep class 而不混淆。你可以熟悉here

关于android - 在 Cocos2d-JS 游戏上的 Playscape SDK 1.14 上使用 proguard 混淆导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32468157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com