反应本机升级到 0.69.12 后,任务 ':app:compileDebugJavaWithJavac' 执行失败

问题描述 投票:0回答:1

我目前正在将我的 React Native 版本从 0.62.2 升级到 0.69.12,并且正面临这个障碍。

/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:13: error: package com.github.yamill.orientation does not exist
import com.github.yamill.orientation.OrientationPackage;
                                    ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:26: error: package com.apsl.versionnumber does not exist
import com.apsl.versionnumber.RNVersionNumberPackage;
                             ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:28: error: package org.devio.rn.splashscreen does not exist
import org.devio.rn.splashscreen.SplashScreenReactPackage;
                                ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:36: error: package com.reactnativedocumentpicker does not exist
import com.reactnativedocumentpicker.ReactNativeDocumentPicker;
                                    ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:37: error: package com.reactlibrary does not exist
import com.reactlibrary.RNReactNativeDocViewerPackage;
                       ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainActivity.java:5: error: package org.devio.rn.splashscreen does not exist
import org.devio.rn.splashscreen.SplashScreen;
                                ^
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:39: error: package com.reactlibrary does not exist
import com.reactlibrary.RNReactNativeDocViewerPackage;
                       ^
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:41: error: package com.reactnativedocumentpicker does not exist
import com.reactnativedocumentpicker.ReactNativeDocumentPicker;
                                    ^
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:61: error: package com.github.yamill.orientation does not exist
import com.github.yamill.orientation.OrientationPackage;
                                    ^
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:69: error: package org.devio.rn.splashscreen does not exist
import org.devio.rn.splashscreen.SplashScreenReactPackage;
                                ^
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:77: error: package com.apsl.versionnumber does not exist
import com.apsl.versionnumber.RNVersionNumberPackage;
                             ^
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:80: error: cannot find symbol
            new OrientationPackage(),
                ^
  symbol: class OrientationPackage
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:91: error: cannot find symbol
            new RNVersionNumberPackage(),
                ^
  symbol: class RNVersionNumberPackage
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:93: error: cannot find symbol
            new SplashScreenReactPackage(),
                ^
  symbol: class SplashScreenReactPackage
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:102: error: cannot find symbol
            new ReactNativeDocumentPicker(),
                ^
  symbol: class ReactNativeDocumentPicker
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainApplication.java:103: error: cannot find symbol
            new RNReactNativeDocViewerPackage(),
                ^
  symbol: class RNReactNativeDocViewerPackage
/Users/User/Projects/Mobile/android/app/src/main/java/com/syntrinos/mobile/hrms/MainActivity.java:20: error: cannot find symbol
        SplashScreen.show(this,R.style.SplashTheme);  // here 
        ^
  symbol:   variable SplashScreen
  location: class MainActivity
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:141: error: cannot find symbol
      new RNReactNativeDocViewerPackage(),
          ^
  symbol:   class RNReactNativeDocViewerPackage
  location: class PackageList
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:142: error: cannot find symbol
      new ReactNativeDocumentPicker(),
          ^
  symbol:   class ReactNativeDocumentPicker
  location: class PackageList
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:152: error: cannot find symbol
      new OrientationPackage(),
          ^
  symbol:   class OrientationPackage
  location: class PackageList
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:156: error: cannot find symbol
      new SplashScreenReactPackage(),
          ^
  symbol:   class SplashScreenReactPackage
  location: class PackageList
/Users/User/Projects/Mobile/android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java:160: error: cannot find symbol
      new RNVersionNumberPackage(),
          ^
  symbol:   class RNVersionNumberPackage
  location: class PackageList
22 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details

我尝试过更改 JDK 版本、删除节点模块并进行yarn install。

请指教。

react-native upgrade
1个回答
0
投票

好吧,既然你是react-native的新手,我想我很快就能回答。

您提供的消息表明,这些包没有正确引用,因此构建系统无法找到它们。 这些包包括:com.github.yamill.orientation、com.apsl.versionnumber、org.devio.rn.splashscreen等

  1. 您应该检查这些软件包,以及它们安装在哪里,有时您也需要更新这些软件包。
  2. 鉴于您正在更新项目,这些软件包可能不支持与您正在使用的版本自动链接。此功能会自动链接本机依赖项,但并非所有版本的包都支持它。
  3. 对于不支持自动链接的软件包,您需要手动链接它们。检查您的
    android/settings.gradle
    文件以确保这些包作为子项目包含在内。在自动链接之前的时代,我们手动链接 React Native 包,如下所示:
include ':react-native-mypackage'
project(':react-native-mypackage').projectDir = new File(rootProject.projectDir, '../my/path/to/react-native-mypackage/android')
  1. 如果这些软件包现在支持自动链接,您应该从
    MainApplication.java
    settings.gradle
    中删除手动链接。

始终确保您的 React Native 环境配置正确以识别这些依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.