构建失败错误:如果 (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) 找不到符号

我尝试在开发后构建我的离子应用程序;但在这个过程中出现了以下错误:

C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java:123: 错误: 找不到符号 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ^ > 任务:app:compileDebugJavaWithJavac 符号: 变量 R 位置: 类 VERSION_CODES C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java :124: 错误: 找不到符号 dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ 符号:变量类型位置:类 WindowInsets C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java:124:错误:找不到符号 dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ 符号:方法 getInsetsController() 位置:类 Window 注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注意:某些输入文件使用未经检查或不安全的操作。注意:使用 -Xlint:unchecked 重新编译以获取详细信息。 3 个错误

FAILURE:构建失败并出现异常。

任务 :app:compileDebugJavaWithJavac FAILED 24 个可操作任务:1 个已执行,23 个最新

  • 出了什么问题:任务 ':app:compileDebugJavaWithJavac' 执行失败。

编译失败;有关详细信息,请参阅编译器错误输出。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • https://help.gradle.org 获得更多帮助

BUILD FAILED in 2m 5s c:incidentAppplatformsandroidgradlew: 命令失败,退出代码 1 错误输出:C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java:123: 错误:找不到符号 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ^ symbol :变量 R 位置:类 VERSION_CODES C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java:124:错误:找不到符号 dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ 符号:变量类型位置:类 WindowInsets C:incidentAppplatformsandroidappsrcmainjavacommoustcordovavideoplayerVideoPlayer.java:124:错误:找不到符号 dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ 符号:方法 getInsetsController() 位置:类 Window 注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注意:某些输入文件使用未经检查或不安全的操作。注意:使用 -Xlint:unchecked 重新编译以获取详细信息。 3 个错误

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务 ':app:compileDebugJavaWithJavac' 执行失败。

编译失败;有关详细信息,请参阅编译器错误输出。

我已经尝试了一切(删除android包并重新安装)我可以动手但仍然无法正常工作。

下面是我的 build.gradle

 project.ext {
      defaultBuildToolsVersion="29.0.3" //String
      defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1
      defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
    }
stack overflow Build failed error: cannot find symbol if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
原文答案

答案:

作者头像

只需在 android/app/build.gradle 文件中将 compileSdkVersion 和 targetSdkVersion 升级到 31。

作者头像

更新-:确保在 android/app/build.gradle 文件中将 compileSdkVersion 设置为 31

Old-:我在 Flutter 应用中使用 Geolocator 插件时遇到此错误。要解决此错误,您必须打开 LocationMapper.java(您可以在调试控制台中找到此路径)。并删除这部分

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)

并确保您的 android 编译版本为 30(对于 GeoLocator Build.gradle)

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
      position.put("is_mocked", location.isMock());
   } 
作者头像

Build.VERSION_CODES.R 仅存在于 API 30 中,但您正在使用 API 29 进行编译。

如果要使用 Build.VERSION_CODES.R ,compileSdkVersion 应该设置为 30。

更新cordova-android@10

从 cordova-android@10 开始, compileSdkVersion 已被删除 android-targetSdkVersion 统一设置目标和编译 SDK 版本,以便它们始终保持一致。

作者头像

enter image description here

查找并将此行从 30 更改为 31。

作者头像

我刚刚从CompilesDkversion 30更改为build.gradel中的CompilesDkversion 31

作者头像

检查您下载的 SDK 版本并确保全部相同:- compileSdkVersion XX minSdkVersion XX targetSdkVersion XX

相关问题