Jon*_*osa 7 android unity-game-engine google-play
我在 google play 发布之前做了报告,我发出了 12 条警告。我的游戏是在 2017.1.1 单元制作的,我有 Android SDK 28。我想纠正这些导致这些广告的问题。google 向我抛出以下内容“Google 无法保证以下 API 可以在当前版本的 Android 上运行,因为它们在灰名单中。有些可能已经被其目标 SDK 限制了。”
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Ljava/nio/Buffer;->address:J
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredField(Native Method)
at akj.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):78)
at akj.d(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):76)
at akj.<clinit>(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):116)
at akj.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):26)
at ajd.<clinit>(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):2502)
at ajd.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):20)
at aio.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):26)
at ajl.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):3)
at ajl.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):8)
at ahr.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):88)
at ww.h_(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):23)
at tl.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):18)
at td.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):12)
at tg.handleMessage(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):56)
at android.os.Handler.dispatchMessage(Handler.java:106)
at xs.a(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):5)
at xs.dispatchMessage(:com.google.android.gms.dynamite_adsdynamite@15090081@15.0.90 (100400-231259764):4)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
----------
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredMethodInternal(Native Method)
at java.lang.Class.getMethod(Class.java:2064)
at java.lang.Class.getDeclaredMethod(Class.java:2047)
at aMq.a(PG:4)
at aMK.a(PG:10)
at aMr.a(PG:50)
at cvB.<init>(PG:4)
at cuV.run(PG:9)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
----------
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.c(Unknown Source:0)
at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source:151)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at com.unity3d.player.UnityPlayer$c.run(Unknown Source:20)
[ 06-12 00:26:52.212 15139:15203 D/ ]
PlayerBase::PlayerBase()
[ 06-12 00:26:52.212 15139:15203 D/ ]
TrackPlayerBase::TrackPlayerBase()
----------
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.c(Unknown Source:0)
at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source:151)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at com.unity3d.player.UnityPlayer$c.run(Unknown Source:20)
----------
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredMethodInternal(Native Method)
at java.lang.Class.getPublicMethodRecursive(Class.java:2075)
at java.lang.Class.getMethod(Class.java:2063)
at java.lang.Class.getMethod(Class.java:1690)
at cyw.a(PG:9)
at cyE.a(PG:12)
at org.chromium.content.browser.selection.SmartSelectionClient.<init>(PG:5)
at czl.a(Unknown Source:7)
at org.chromium.android_webview.AwContents.e(PG:243)
at org.chromium.android_webview.AwContents.d(PG:210)
at org.chromium.android_webview.AwContents.<init>(PG:81)
at vE.run(PG:15)
at aKc.a(PG:13)
at aKd.run(Unknown Source:2)
at org.chromium.base.task.PostTask.b(PG:13)
at aKc.a(PG:7)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.b(PG:6)
at com.android.webview.chromium.WebViewChromium.init(PG:107)
at android.webkit.WebView.<init>(WebView.java:422)
at android.webkit.WebView.<init>(WebView.java:348)
at android.webkit.WebView.<init>(WebView.java:331)
at android.webkit.WebView.<init>(WebView.java:318)
at android.webkit.WebView.<init>(WebView.java:308)
at a.a.a.a.a.e.a.b(SourceFile:1)
at a.a.a.a.a.e.a.a(SourceFile:1)
at a.a.a.a.a.h.c.b(SourceFile:3)
at a.a.a.a.a.h.c.a(SourceFile:5)
at a.a.a.a.a.h.j.a(SourceFile:12)
at com.tappx.sdk.android.TappxInterstitial.loadAd(SourceFile:2)
at com.tappx.unity.interstitialTappx$1.run(interstitialTappx.java:39)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Run Code Online (Sandbox Code Playgroud)
Bon*_*ond 10
这些是指在您的应用程序中使用隐藏的系统级 API,很可能包含在第三方代码中,并且通常需要某些功能。对于 Android P(28),有一个隐藏 API的浅灰名单,目前可以使用,但可能会在以后的版本中弃用。还有一个深灰名单和一个黑名单。在您的堆栈跟踪上方,您应该有一行写着API LAndroid/...您应该能够在没有“API”的情况下搜索该字符串,并希望能在上面链接的浅灰名单中找到它。如果是这样,你现在应该没问题。如果不是,则该 API 可能会在 Android Q 中被弃用/删除,您可能需要先修复它才能升级以支持 SDK 29。请注意,如果灰名单 API 有合法用例,Google 应该创建一个新的 API 来满足这些需求。更多关于非 SDK 接口的信息可以在这个 Stack Overflow Answer 中找到。
这份关于非 SDK 限制的 Android 指南中还提供了有关不同级别的灰名单和分发最佳实践的其他信息。请注意,您可能需要复制此链接并将其粘贴到浏览器中。
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |