[英]What are these warnings in the pre-launch report in google play?
I made the report prior to the launch in google play and I shot 12 warnings. 我在谷歌播放发布之前做了报告,我拍了12个警告。 My game was made in unit 2017.1.1 and I have Android SDK 28. I want to correct these problems that cause these ads.
我的游戏是在2017.1.1单元制作的,我有Android SDK 28.我想纠正导致这些广告的这些问题。 google throws me the following "Google can not guarantee that the following APIs will work on the current versions of Android because they are on the gray list. Some may already be restricted for their destination SDK."
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)
These are referring to the usage of hidden, system level APIs in your App, most likely included in third party code and often required for certain functionality. 这些是指您的应用程序中隐藏的系统级API的使用,很可能包含在第三方代码中,并且通常是某些功能所必需的。 For Android P(28), there is a light-greylist of hidden APIs that are OK to use currently, but may be deprecated in a later version.
对于Android P(28),有一个隐藏API 的浅灰名单 ,目前可以使用,但在以后的版本中可能会被弃用。 There is also a dark-greylist and a blacklist.
还有一个黑暗灰名单和黑名单。 Above your Stack Trace you should have a line that says
API LAndroid/...
You should be able to search that string without the "API " and hopefully will find it in the light-greylist linked above. 在堆栈跟踪之上,您应该有一行说明
API LAndroid/...
您应该能够在没有“API”的情况下搜索该字符串,并希望在上面链接的光线灰名单中找到它。 If so, you should be fine for now. 如果是这样,你现在应该没问题。 If not, it is possible the API is going to be deprecated/removed in Android Q and you may need to fix it before being able to upgrade to support SDK 29. Please note that if there are legitimate use cases for a greylisted API Google should create a new API to address those needs.
如果没有,可能会在Android Q中弃用/删除API,您可能需要先修复它才能升级到支持SDK 29.请注意,如果有一个灰名单API的合法用例,Google应该创建一个新的API来满足这些需求。 More information about non-SDK interfaces can be found in this Stack Overflow Answer .
有关非SDK接口的更多信息,请参阅此Stack Overflow Answer 。
Additional information about the different levels of greylist and distribution best practices are also provided in this Android guide about Non-SDK Restrictions . 有关非SDK限制的Android指南中还提供了有关不同级别的灰名单和分发最佳做法的其他信息。 Please note that you may have to copy this link and paste it into your browser.
请注意,您可能需要复制此链接并将其粘贴到浏览器中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.