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

在android studio中将targetSDK更改为29后关闭应用程序

席言
2023-03-14
compileSdkVersion 29
defaultConfig {
    ...
    targetSdkVersion 29
    ...
}

据Play Console透露,新app将从8月起改为SDK 29,除非从11月起更新,否则无法上传。将目标SDK改为29后,app异常结束。日志为:

w/abc.def:访问隐藏字段landroid/view/layoutinflater;->mconstructorargs:[ljava/lang/object;(greylist-max-p,reflection,denied)

D/AndroidRuntime:正在关闭VM

E/AndroidRuntime:致命异常:主进程:net.abc.def,pid:28318 java.lang.RuntimeException:无法启动activity组件Info{net.abc.def/net.abc.def.ui.splashActivity}:android.view.inflateException:net.abc.def:layout/abc_screen_simple:net.abc.def:layout/abc_screen_simple:net.abc.support.v7.widget.FitWindowsLinearLayout中的二进制XML文件行#17

我猜这是因为我使用的是非SDK接口。因为谷歌解释如下

Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object;   

#没有公共替代方案。开发人员不应直接访问此字段。

异常终止是由于非SDK接口造成的吗?那么你是怎么解决的呢?my代码中使用了许多LayoutInflater。

共有1个答案

康弘义
2023-03-14

如果源代码中没有触及mConstructorArgs,那么尝试搜索是否有库访问该字段。

chris Jenx为Android Q编写的书法库崩溃

 类似资料:
  • 以前,我的应用程序根本不使用AppCompat,但现在我需要它,因为有几个库需要它。问题是,在我开始使用AppCompat之后,一些(和)不会显示: 所改变的是,我现在使用v7支持库中的(而不是)和(而不是)。 布局的hieararchy如下: 我知道这很复杂,但这是我能够实现我想要的唯一方法。(使用前台FrameLayout,这样当特定的弹出对话框打开时,我就可以调暗应用程序的其余部分。网格是通

  • 我正在用firebase创建一个Ionic 2应用程序,我需要一种方法来监听数据库更改(特别是在child_added上),当应用程序关闭(即在前台、后台和被杀)时 基本上,我想使用WebRTC在whatsapp这样的应用程序内进行呼叫,我正在关注这篇文章https://websitebeaver.com/insanely-simple-webRTC-video-chat-using-fireba

  • 我有问题关闭我的javaFX应用程序,当我点击关闭按钮从我的阶段,我的应用程序消失,但如果我寻找它在我的任务管理器我的应用程序仍然没有关闭。我尝试使用下面的代码强制关闭主线程和所有子线程,但是问题仍然存在。

  • 我的应用程序的目的是通过一个自定义对话框从一个评级栏中检索一个值(5分),并将其显示在主activity的一个TextView中。当我点击我在下图中用红色勾勒出来的按钮时,应用程序崩溃并关闭。 该应用程序由2个类/活动组成。主activity和自定义对话框activity。 这两个文件的代码可以在下面找到: mainactivity.java: mealRaterDialog.java: 我是An

  • 我试图重新创建Connect四,我成功了。但我想通过频繁地切换颜色,给玩家一个获胜的四张光盘在哪里的指示。我对线程和编程中的时间概念是新的。 我也成功地给了用户这个指示,但是在关闭应用程序之后,控制台仍然会给出输出,也是在使用SetonCloserEquest时。 代码如下:

  • 这个问题似乎不是关于一个特定的编程问题,一个软件算法,或者主要由程序员使用的软件工具。如果你认为这个问题是另一个Stack Exchange站点的主题,你可以留下评论来解释这个问题在哪里可以得到回答。 端口3000已被使用[nodemon]应用程序崩溃-在启动之前等待文件更改...所以请帮我解决这个问题