生成失败错误:如果 (Build.VERSION.SDK_INT >= Build.VERSION_CODES,则找不到符号。R)

2022-09-02 22:49:05

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

C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:123: 错误: 找不到符号 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ^ > Task :app:compileDebugJavaWithJavac symbol: variable R location: class VERSION_CODES C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: can find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: variable Type 位置: class WindowInsets C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: cannotfind symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());^ 符号: 方法 getInsetsController() 位置: 类 窗口 注意: 某些输入文件使用或覆盖已弃用的 API。注意:有关详细信息,请使用 -Xlint:deprecation 重新编译。注: 某些输入文件使用未经检查或不安全的操作。注意:使用 -Xlint:uncheck 重新编译以了解详细信息。3 个错误

失败:生成失败,出现异常。

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

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

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

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

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

构建在 2 分钟 5 秒内失败 c:\incidentApp\platforms\android\gradlew: 命令失败,退出代码为 1 错误输出:C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:123:错误:如果 (Build.VERSION.SDK_INT >= Build.VERSION_CODES,则找不到符号。R) { ^ symbol: variable R location: class VERSION_CODES C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: can't find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars()); ^ symbol: variable type location: class WindowInsets C:\incidentApp\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: error: can't find symbol dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());^ 符号: 方法 getInsetsController() 位置: 类 窗口 注意: 某些输入文件使用或覆盖已弃用的 API。注意:有关详细信息,请使用 -Xlint:deprecation 重新编译。注: 某些输入文件使用未经检查或不安全的操作。注意:使用 -Xlint:uncheck 重新编译以了解详细信息。3 个错误

失败:生成失败,出现异常。

  • 出了什么问题:任务':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
    }

答案 1

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


答案 2

已更新:确保在 android/app/build.gradle 文件中设置为compileSdkVersion31

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());
   } 

推荐