当前位置: 首页 > 知识库问答 >
问题:

如何修复Android兼容性警告

龙越彬
2023-03-14

我有一个针对Android9的应用程序,我注意到在Google Play发布前的报告中有一个新的部分叫做Android兼容性。这个新的部分列出了与使用不受支持的API有关的警告或错误。以下是问题之一,并作为greylisted API列出。有人能解释一下在这种情况下哪个是不受支持的API吗?使用似乎来自Android支持库,而不是我的代码。

StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
    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 android.support.v7.widget.ViewUtils.makeOptionalFitsSystemWindows(ViewUtils.java:84)
    at android.support.v7.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:685)
    at android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:518)
    at android.support.v7.app.AppCompatDelegateImpl.onPostCreate(AppCompatDelegateImpl.java:299)
    at android.support.v7.app.AppCompatActivity.onPostCreate(AppCompatActivity.java:98)
    at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1342)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3002)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    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)

共有1个答案

壤驷华美
2023-03-14

我想我们现在无能为力,只能等待他们在AndroidX中修复这些问题(因为支持库将不再更新)。
正如这里提到的,方法使用反射,那么为什么会出现警告。

 类似资料:
  • 我刚导入webview_颤振插件,发现该插件与我的颤振环境不兼容。然后使用Android Studio,我使用“迁移到AndroidX”选项迁移我的AndroidX环境。 我想使用webview_flutter插件查看页面。帮助赞赏。 这里是错误信息 正在启动lib/main。调试模式下Andromax B26D2H上的dart D8:程序类型已存在:android。支持v4。媒体MediaBro

  • 我在这里阅读了有关“支持多屏幕”的信息和其他帖子。。。但我真的很困惑,我该如何开发在多个设备上运行的应用程序。我开始在一个确定的屏幕上开发(正常大小的布局),然后在S4星系上运行我的apk,以便我看到我的apk中的每个对象的大小与我的xperia到S4的大小不同。我需要做什么才能使我的apk与所有设备兼容?我读到的信息表明,唯一的来源是: > res/layout/my\u布局。xml//正常屏幕

  • 本章提供了有关 版本控制 章节中提供的破坏性和非破坏性修改列表的详细说明。 什么算是一个破坏性(不兼容)的变化并没有明确的定义。本指南应该被视为指示性的,而不是每一种可能变化的全面清单。 这里列出的规则只涉及客户端兼容性。预期API生产者明白在部署方面的要求,包括实现细节的变化。 一般目的是,服务端更新到一个新的minor版本或patch版本不该破坏客户端。可预期的破坏类型有: 源代码兼容性:针对

  • 语言补丁 Array.isArray Object.assign JSON.stringify console-polyfill Object.keys Object.is Array.prototype.forEach Function.prototype.bind 或者直接使用https://polyfill.io/ 提供的动态补丁方案 <script src="https://cdn.pol

  • 我克隆了react应用程序的回购协议。 运行 收到3次严重程度较高的警告。 在尝试修复(npm audit fix--force)时,我总共得到31个漏洞 以下是警告: 审计结果表明:

  • 本文向大家介绍highcharts 兼容性,包括了highcharts 兼容性的使用技巧和注意事项,需要的朋友参考一下 示例 牌 支持的版本 IE浏览器 6.0 + 火狐浏览器 2.0以上 铬 1.0 + 苹果浏览器 4.0以上 歌剧 9.0 + iOS(Safari) 3.0 + Android浏览器 2.0以上 Highcharts支持旧版浏览器的jQuery 1.6+版本,以及现代浏览器的2