reactjs - 任务“:react-native-music-control:compileDebugJavaWithJavac”执行失败
问题描述
尝试在现有项目的 react-native 上构建我的第一个应用程序,但不幸的是在构建应用程序时出错react-native run-android
似乎一切正常,但出现此错误
FAILURE:构建失败并出现异常。
出了什么问题:任务':react-native-music-control:compileDebugJavaWithJavac'的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
任何人都可以提示我有什么问题吗?
完整的错误日志 =>
cd android && ./gradlew installDebug --stacktrace
配置项目 :realm 警告:以下项目选项已弃用并已删除: android.enableAapt2 此属性无效,现在始终使用 AAPT2。
警告:指定的 Android SDK 构建工具版本 (27.0.3) 将被忽略,因为它低于 Android Gradle 插件 3.3.0 的最低支持版本 (28.0.3)。将使用 Android SDK 构建工具 28.0.3。要禁止显示此警告,请从您的 build.gradle 文件中删除“buildToolsVersion '27.0.3'”,因为每个版本的 Android Gradle 插件现在都有一个默认版本的构建工具。
任务:react-native-music-control:compileDebugJavaWithJavac FAILED /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java /com/tanguyantoine/react/MusicControlModule.java:26:错误:包 androidx.media.app.NotificationCompat 不存在导入 androidx.media.app.NotificationCompat.MediaStyle;^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlListener.java: 4:错误:包androidx.media不存在导入androidx.media.VolumeProviderCompat;^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlModule.java: 135: 错误: 找不到符号 nb.setStyle(new MediaStyle().setMediaSession(session.getSessionToken())); ^ 符号:类 MediaStyle 位置:类 MusicControlModule /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/ tanguyantoine/react/MusicControlModule.java:298:错误:找不到符号 int maxVol = info.hasKey("maxVolume") ?info.getInt("maxVolume") : volume.getMaxVolume(); ^ 符号:方法 getMaxVolume() 位置:VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main 类型的可变音量/java/com/tanguyantoine/react/MusicControlModule.java:299:错误:找不到符号 int vol = info.hasKey("volume") ?info.getInt("volume") : volume.getCurrentVolume(); ^ 符号:方法 getCurrentVolume() 位置:VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/类型的可变音量MusicControlModule.java:323:错误:不兼容的类型:VolumeListener 无法转换为 VolumeProviderCompat session.setPlaybackToRemote(volume.create(null, maxVol, vol)); ^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlModule.java: 385:错误:不兼容的类型:VolumeListener 无法转换为 VolumeProviderCompat if(remoteVolume) session.setPlaybackToRemote(volume); ^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlModule.java: 390:错误:不兼容的类型:VolumeListener 无法转换为 VolumeProviderCompat session.setPlaybackToRemote(volume); ^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlListener.java: 96:错误:找不到超级符号(可更改?VOLUME_CONTROL_ABSOLUTE:VOLUME_CONTROL_FIXED,maxVolume,currentVolume);^ 符号:变量 VOLUME_CONTROL_ABSOLUTE 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/ tanguyantoine/react/MusicControlListener.java:96:错误:找不到符号 super(可更改?VOLUME_CONTROL_ABSOLUTE:VOLUME_CONTROL_FIXED,maxVolume,currentVolume);^ 符号:变量 VOLUME_CONTROL_FIXED 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/ tanguyantoine/react/MusicControlListener.java:101:错误:找不到符号返回 getVolumeControl() != VolumeProviderCompat.VOLUME_CONTROL_FIXED; ^ 符号:方法 getVolumeControl() 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/ com/tanguyantoine/react/MusicControlListener.java:101:错误:找不到符号返回 getVolumeControl()!= VolumeProviderCompat.VOLUME_CONTROL_FIXED;^ 符号:变量 VolumeProviderCompat 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/ tanguyantoine/react/MusicControlListener。java:104:错误:方法不覆盖或实现超类型@Override ^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control的方法/android/src/main/java/com/tanguyantoine/react/MusicControlListener.java:106:错误:找不到符号 setCurrentVolume(volume); ^ 符号:方法 setCurrentVolume(int) 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java /com/tanguyantoine/react/MusicControlListener.java:110:错误:方法不会覆盖或实现来自超类型 @Override ^ /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main 的方法/java/com/tanguyantoine/react/MusicControlListener.java:112:错误:找不到符号 int maxVolume = getMaxVolume(); ^ 符号:方法 getMaxVolume() 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/ com/tanguyantoine/react/MusicControlListener.java:114: 错误: 找不到符号 int volume = Math.max(Math.min(getCurrentVolume() + tick, maxVolume), 0); ^ 符号:方法 getCurrentVolume() 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/ com/tanguyantoine/react/MusicControlListener.java:116:错误:找不到符号 setCurrentVolume(volume);^ 符号:方法 setCurrentVolume(int) 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java /com/tanguyantoine/react/MusicControlListener.java:122:错误:找不到符号 currentVolume = getCurrentVolume(); ^ 符号:方法 getCurrentVolume() 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine /react/MusicControlListener.java:124: 错误:找不到符号 setCurrentVolume(currentVolume); ^ 符号:方法 setCurrentVolume(Integer) 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java /com/tanguyantoine/react/MusicControlListener.java:128: 错误: 找不到符号 if(maxVolume == null) maxVolume = getMaxVolume(); ^ 符号:方法 getMaxVolume() 位置:类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine /react/MusicControlListener.java:130: 错误: 找不到符号 if(changeable == isChangeable() && maxVolume == getMaxVolume()) return this; ^ 符号:方法 getMaxVolume() 位置:类 VolumeListener 注意:一些消息已被简化;使用 -Xdiags:verbose 重新编译以获得完整的输出 24 错误 类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlListener.java :130: 错误: 找不到符号 if(changeable == isChangeable() && maxVolume == getMaxVolume()) return this; ^ 符号:方法 getMaxVolume() 位置:类 VolumeListener 注意:一些消息已被简化;使用 -Xdiags:verbose 重新编译以获得完整的输出 24 错误 类 VolumeListener /root/SCRIPTLOCATION/Social and Sharing/codecanyon-23049351-musicengine-mobile-applications/app/node_modules/react-native-music-control/android/src/main/java/com/tanguyantoine/react/MusicControlListener.java :130: 错误: 找不到符号 if(changeable == isChangeable() && maxVolume == getMaxVolume()) return this; ^ 符号:方法 getMaxVolume() 位置:类 VolumeListener 注意:一些消息已被简化;使用 -Xdiags:verbose 重新编译以获得完整的输出 24 错误 类 VolumeListener 注意:一些消息已被简化;使用 -Xdiags:verbose 重新编译以获得完整的输出 24 错误 类 VolumeListener 注意:一些消息已被简化;使用 -Xdiags:verbose 重新编译以获得完整的输出 24 错误
FAILURE:构建失败并出现异常。
出了什么问题:任务':react-native-music-control:compileDebugJavaWithJavac'的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
例外是:org.gradle.api.tasks.TaskExecutionException:任务':react-native-music-control:compileDebugJavaWithJavac'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110) .api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) 在 org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59) 在 org.gradle.api.internal .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter。46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) 引起:org.gradle.api.internal.tasks.compile.CompilationFailedException: 编译失败;有关详细信息,请参阅编译器错误输出。在 org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:52) 在 org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36) 在 org.gradle .api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100) 在 org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52) 在 org.gradle.api.internal .tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38) 在 org.gradle.api.internal.tasks.compile。
解决方案
如果您使用 React Native >= 0.60,请确保android.support
通过androidx
运行npx jetify
. 确保该gradle.properties
文件包含以下行:
android.useAndroidX=true
android.enableJetifier=true
推荐阅读
- c++ - 如何将整数字符串转换为整数的二维向量?
- amazon-web-services - aws iot:仅当消息具有与以前不同的有效负载时,如何触发行为规则/ lambda?
- java - Spring:无法捕获抛出的异常
- ui-automation - 用新名称保存图像
- server - 云是一组数据中心吗?
- python - Beautiful Soup 查找具有多个类的元素
- ruby-on-rails - 如何路由 API 以指向特定的控制器操作,而不是在 Rails 中显示欢迎屏幕
- python - 从张量中提取多个子矩阵
- python - Python Selenium - 无法使用 XPATH 单击滑块元素
- linux - Linux脚本中的两个$有什么区别