Android Play 商店中的 Delphi 11 应用程序显示警告:非 SDK API

Han*_*ans 5 delphi android firemonkey google-play delphi-11-alexandria

“Google Play 管理中心”中的“发布前报告概述”显示以下警告:

类型:

Non-SDK API
Run Code Online (Sandbox Code Playgroud)

应用程序编程接口:

Landroid/view/MotionEvent;-><init>()V
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/MotionEvent;-><init>()V
Run Code Online (Sandbox Code Playgroud)

此错误之前已在 Delphi 10.3 中修复,请参阅https://quality.embarcadero.com/browse/RSP-22046 ,但现在又回到了 Delphi 11 中?

我在 Google 上可以找到的解决方案是targetSdkVersion在中设置较新的AndroidManifest.xml 解决方案。但是,我们已经将其设置为 API 级别 30,因为需要部署到新的 Play 商店。在 AndroidManifest.xml 中我们有:

<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="30" />
Run Code Online (Sandbox Code Playgroud)

最近有人在 Play 商店上的“Delphi 11”应用程序中看到过此错误吗?- 最终找到了解决方案吗?

小智 1

这里发生的事情是,问题的根源(即引用无参数构造函数)并没有真正解决,而是通过在 Delphi 10.3.1 上android.view.MotionEvent设置默认目标 API 级别 = 来解决。这样,警告对话框不再显示在屏幕上,但您仍然可以通过在设备设置为 USB 调试的情况下28使用该工具来看到非 SDK 警告。Monitor