2

当我将第三方组件添加到 React Native 应用程序(例如这个)时,它经常说由于自动链接,您不必遵循手动链接步骤。对于 Android,我注意到手动链接步骤中没有添加任何代码,例如向 中添加代码MainApplication.java,也没有自动添加。

谁能解释这里发生了什么?尽管自动链接,我是否需要为 Android 执行手动链接步骤?

4

1 回答 1

1

对于android,它不需要链接。从 react-native 0.6 开始,自动链接不会直接添加 int MainApplication.java

在 android settings.gradle 中,你可以看到这段代码:

apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); 

native_modules.gradle它会添加包。代码很复杂。看了几天,只知道一点。但我们可以从名字和评论中得到。

def generatedFileName = "PackageList.java"
def generatedFilePackage = "com.facebook.react"
...
  /**
   * Include the react native modules android projects and specify their project directory
   */
  void addReactNativeModuleProjects(DefaultSettings defaultSettings) 

  //here are add the package list
  /**
   * Adds the react native modules as dependencies to the users `app` project
   */
  void addReactNativeModuleDependencies(Project appProject)

  /**
   * Code-gen a java file with all the detected ReactNativePackage instances automatically added
   *
   * @param outputDir
   * @param generatedFileName
   * @param generatedFileContentsTemplate
   */
  void generatePackagesFile(File outputDir, String generatedFileName, String 
  generatedFileContentsTemplate)

最后,我们只应该知道我们不需要链接

于 2020-01-16T08:57:54.237 回答