android - 运行`detox build -c android.emu.debug`任务时出错:app:compileDebugJavaWithJavac FAILED in react native
问题描述
在遵循 Detox [android 安装教程][1] 时,我在运行detox build -c android.emu.debug
❯ detox build -c android.emu.debug detox[23052] INFO: [build.js] cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..
任务 :app:generatePackageList 任务 :app:preBuild 任务 :react-native-gesture-handler:preBuild 最新任务 :react-native-gesture-handler:preDebugBuild 最新任务 :react-native-gesture- handler:checkDebugManifest 最新任务 :react-native-gesture-handler:processDebugManifest 最新任务 :react-native-reanimated:preBuild 最新任务 :react-native-reanimated:preDebugBuild UP-TO -DATE 任务:react-native-reanimated:checkDebugManifest 最新任务:react-native-reanimated:processDebugManifest 最新任务:react-native-screens:preBuild 最新任务:react-native-屏幕:preDebugBuild 最新任务:react-native-screens:checkDebugManifest 最新任务:react-native-screens:processDebugManifest 最新任务:react-native-vector-icons:preBuild UP-TO -日期任务:react-native-vector-icons:preDebugBuild 最新任务:react-native-vector-icons:checkDebugManifest 最新任务:react-native-vector-icons:processDebugManifest 最新任务:react- native-webview:preBuild UP-TO-DATE 任务:react-native-webview:preDebugBuild UP-TO-DATE 任务:react-native-webview:checkDebugManifest UP-TO-DATE 任务:react-native-webview:processDebugManifest UP-TO -DATE 任务:app:preDebugBuild UP-TO-DATE 任务:react-native-screens:compileDebugAidl NO-SOURCE 任务:react-native-vector-icons:compileDebugAidl NO-SOURCE 任务:react-native-gesture-handler:compileDebugAidl NO -SOURCE 任务 :react-native-reanimated:compileDebugAidl NO-SOURCE 任务 :react-native-webview:compileDebugAidl NO-SOURCE 任务 :app:compileDebugAidl NO-SOURCE 任务 :react-native-gesture-handler:packageDebugRenderscript NO-SOURCE 任务:react-native-reanimated:packageDebugRenderscript NO-SOURCE 任务:react-native-screens:packageDebugRenderscript NO-SOURCE 任务:react-native-vector-icons:packageDebugRenderscript NO-SOURCE 任务:react-native-webview: packageDebugRenderscript NO-SOURCE 任务 :app:compileDebugRenderscript NO-SOURCE 任务 :app:checkDebugManifest 最新任务 :app:generateDebugBuildConfig 最新任务 :app:bundleDebugJsAndAssets SKIPPED 任务 :app:prepareLintJar 最新任务 : app:generateDebugSources 最新任务 :react-native-gesture-handler:generateDebugBuildConfig 最新任务 :react-native-gesture-handler:compileDebugRenderscript 无源任务 :react-native-gesture-handler:generateDebugResValues UP -TO-DATE 任务:react-native-gesture-handler:generateDebugResources 最新任务:react-native-gesture-handler:prepareLintJar 最新任务:react-native-gesture-handler:generateDebugSources 最新任务:react-native-gesture-handler:javaPreCompileDebug UP -TO-DATE 任务:react-native-gesture-handler:packageDebugResources 最新任务:react-native-gesture-handler:generateDebugRFile 最新
> 任务:react-native-gesture-handler:compileDebugJavaWithJavac FAILED /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager。 java:4: 错误: com.facebook.react.module.annotations 包不存在 导入 com.facebook.react.module.annotations.ReactModule;^ /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java:17:错误:找不到符号@ReactModule(名称 = RNGestureHandlerRootViewManager.REACT_CLASS) ^ 符号:类 ReactModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java: 16:错误:包 com.facebook.react.module.annotations 不存在导入 com.facebook.react.module.annotations.ReactModule;^ /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java:19:错误:找不到符号导入com。 facebook.react.uimanager.UIBlock;^ 符号:类 UIBlock 位置:包 com.facebook.react.uimanager /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/ RNGestureHandlerModule.java:40: 错误: 找不到符号 @ReactModule(name=RNGestureHandlerModule.MODULE_NAME) ^ 符号: 类 ReactModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/ java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager。java:218: 错误: 找不到符号 @ReactProp(name = ViewProps.BORDER_RADIUS) ^ 符号: 变量 BORDER_RADIUS 位置: 类 ViewProps /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/ main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java:41:错误:类事件中的方法初始化不能应用于给定类型;super.init(handler.getView().getId()); ^ 必需:int,long 找到:int 原因:实际参数列表和正式参数列表的长度不同,其中 T 是类型变量:T 扩展在类 Event /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture 中声明的事件-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java:45:错误:找不到符号 return parent.getChildAt(((ReactViewGroup) parent).getZIndexMappedChildIndex(index)); ^ 符号:方法 getZIndexMappedChildIndex(int) 位置:类 ReactViewGroup /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java :54: 错误:找不到符号字符串溢出 = ((ReactViewGroup) view).getOverflow(); ^ 符号:方法 getOverflow() 位置:类 ReactViewGroup /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java: 574:错误:找不到符号 final int rootViewTag = uiManager.resolveRootTagFromReactTag(ancestorViewTag); ^ 符号:方法 resolveRootTagFromReactTag(int) 位置:变量 uiManager 类型为 UIManagerModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/ RNGestureHandlerModule.java:582:错误:找不到符号 if (root.getRootView().getRootViewTag() == rootViewTag) { ^ 符号:方法 getRootViewTag() 位置:类 ReactRootView /home/rogerd/dev/app_cachacagestor/node_modules/react -native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java:598:错误:找不到符号 uiManager。方法 getRootViewTag() 位置:类 ReactRootView /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java:18:错误: RNGestureHandlerPackage 不是抽象的,不会覆盖 ReactPackage 中的抽象方法 createJSModules() public class RNGestureHandlerPackage implements ReactPackage { ^ /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/ com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java:45:错误:类事件中的方法初始化不能应用于给定类型;super.init(handler.getView().getId()); ^ 必需:int,long 找到:int 原因:实际参数列表和形式参数列表的长度不同,其中 T 是类型变量:T extends Event 在类 Event 中声明 注意:/home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注意:某些输入文件使用未经检查或不安全的操作。注意:使用 -Xlint:unchecked 重新编译以获取详细信息。16 个错误 未选中详细信息。16 个错误 未选中详细信息。16 个错误
FAILURE:构建失败并出现异常。
出了什么问题:任务':react-native-gesture-handler:compileDebugJavaWithJavac'的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 6.0 不兼容。使用“--warning-mode all”显示各个弃用警告。请参阅 https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
5 秒内构建失败 22 个可操作任务:2 个已执行,20 个最新排毒 [23052] 错误:[cli.js] 错误:命令失败:cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..
“反应”:“16.8.6”,
“反应原生”:“0.60.5”,
“排毒”:“^14.3.2”,
"摩卡": "^6.2.0",
有谁知道如何解决?
解决方案
我通过更改 android/build.gradle 中的 maven 存储库的顺序来解决它。我的所有项目看起来像这样:
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
maven {
// All of Detox' artifacts are provided via the npm module
url "$rootDir/../node_modules/detox/Detox-android"
}
maven { url 'https://www.jitpack.io' }
}
}
https://github.com/software-mansion/react-native-gesture-handler/issues/1002
推荐阅读
- python - Python 字符串累加器
- jsonschema - 根据 Json Schema 中的另一个字段更新字段
- c++ - 使用 C++ 在 DLL 中声明持久变量的最佳方法是什么
- python - 获取“查看函数未返回有效响应”错误
- karate - 在一项功能中运行多个场景,在空手道版本 1.0.1 中仅调用了一个场景
- file-upload - GWT - 使用 FileUpload 上传和获取文件
- java - 无法摆脱 JUnit Vintage Engine
- ruby-on-rails - Ruby on Rails 与 MongoDB 5.0
- java - Visual Studio 代码错误:无法打开“C:\Users\user_folder_name”
- python - 在 Python 中为 Netsuite API 生成 SHA256 oauth_signature