簡體   English   中英

運行“detox build -c android.emu.debug”時出錯任務:app:compileDebugJavaWithJavac 在本機反應中失敗

[英]error while running `detox build -c android.emu.debug` Task :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 UP-TO-DATE 任務:react-native-gesture-handler:preDebugBuild UP-TO-DATE 任務:react-native-gesture-處理程序:checkDebugManifest 最新任務:react-native-gesture-handler:processDebugManifest 最新任務:react-native-reanimated:preBuild 最新任務:react-native-reanimated:preDebugBuild UP-TO -日期任務:react-native-reanimated:checkDebugManifest 最新任務:react-native-reanimated:processDebugManifest 最新任務:react-native-screens:preBuild 最新任務:react-native-屏幕:preDebugBuild UP-TO-DATE 任務:react-native-screens:checkDebugManifest UP-TO-DATE 任務:react-native-screens:processDebugManifest UP-TO-DATE 任務:react-native-vector-icons:preBuild UP-TO -DATE 任務: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 Task:react-native-webview:compileDebugAidl NO-SOURCE Task:app:compileDebugAidl NO-SOURCE Task:react-native-gesture-handler:packageDebugRenderscript NO-SOURCE Task: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 SK IPPED 任務:app:prepareLintJar 最新任務:app:generateDebugSources 最新任務:react-native-gesture-handler:generateDebugBuildConfig 最新任務:react-native-gesture-handler:compileDebugRenderscript 否-源任務:react-native-gesture-handler:generateDebugResValues 最新任務:react-native-gesture-handler:generateDebugResources 最新任務:react-native-gesture-handler:prepareLintJar 最新任務:react-native-gesture-handler:generateDebugSources 最新任務:react-native-gesture-handler:javaPreCompileDebug 最新任務:react-native-gesture-handler:packageDebugResources 最新任務:react -native-gesture-handler:generateDebugRFile UP-TO-DATE

> 任務: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: error: package com.facebook.react.module.annotations does not exist import 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( name = RNGestureHandlerRootViewManager.REACT_CLASS) ^ symbol: class ReactModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java: 16: error: package com.facebook.react.module.annotations does not exist import 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:錯誤:找不到符號導入Z4D236D9A2FEDA4BEC055C facebook.react.uimanager.UIBlock; ^ symbol: class UIBlock location: package 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: error: cannot find symbol @ReactModule(name=RNGestureHandlerModule.MODULE_NAME) ^ symbol: class ReactModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/ java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java:218: error: cannot find symbol @ReactProp(name = ViewProps.BORDER_RADIUS) ^ symbol: variable BORDER_RADIUS location: class ViewProps /home/rogerd/dev/app_cachacagestor/node_modules/反應原生手勢處理程序/android/src/main/java/com/swmansion/gestu rehandler/react/RNGestureHandlerEvent.java:41:錯誤:class 事件中的方法初始化不能應用於給定類型; super.init(handler.getView().getId()); ^ 必需:int,long 找到:int 原因:實際參數列表和正式參數列表的長度不同,其中 T 是類型變量:T 擴展在 class 事件中聲明的事件 /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture -handler/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java:45: 錯誤: 找不到符號返回 parent.getChildAt(((ReactViewGroup) parent).getZIndexMappedChildIndex(index)); ^ symbol: method getZIndexMappedChildIndex(int) location: class 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() 位置:class ReactViewGroup /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.Z93F7425A07433D21C 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() 位置: class Reactrogernode/ -native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java:598:錯誤:找不到符號uiManager.addUIBlock(新UIBlock(){^符號:ZA2F2ED4F8EBC2CBB61C21A29DZ0 class RNGestureHandlerModule /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGesture HandlerModule.java:634: 錯誤: 找不到符號 int rootViewTag = uiManager.resolveRootTagFromReactTag(viewTag); ^ 符號:方法 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:641: 錯誤: 找不到符號 if (root.getRootView().getRootViewTag() == rootViewTag) { ^ 符號: 方法 getRootViewTag() 位置: class Reactroger/appreactnodecagestor/home/ -native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java:18:錯誤:RNGestureHandlerPackage 不是抽象的,並且不覆蓋抽象方法 createJSModules() 在 ReactPackage public ZA2F2ED4F8EBC2CBB4RNGesADC40AB61DZC21 ReactPackage { ^ /home/rogerd/dev/app_cachacagestor/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/g esturehandler/react/RNGestureHandlerStateChangeEvent.java:45:錯誤:class 事件中的方法初始化不能應用於給定類型; super.init(handler.getView().getId()); ^ 必需:int,long 找到:int 原因:實際參數列表和正式參數列表的長度不同,其中 T 是類型變量:T 擴展在 class 事件中聲明的事件 注意:/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 個錯誤

FAILURE:構建失敗並出現異常。

  • 出了什么問題:任務':react-native-gesture-handler:compileDebugJavaWithJavac'的執行失敗。

    編譯失敗; 有關詳細信息,請參閱編譯器錯誤 output。

  • 嘗試:使用 --stacktrace 選項運行以獲取堆棧跟蹤。 使用 --info 或 --debug 選項運行以獲得更多日志 output。 運行 --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' }
}

}

感謝gypsicoder

https://github.com/software-mansion/react-native-gesture-handler/issues/1002

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM