首页 > 解决方案 > 任务“: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:构建失败并出现异常。

标签: reactjsreact-native

解决方案


如果您使用 React Native >= 0.60,请确保android.support通过androidx运行npx jetify. 确保该gradle.properties文件包含以下行:

android.useAndroidX=true
android.enableJetifier=true

推荐阅读