Вам нужно выполнить шаги по ручному связыванию Android с React Native? - PullRequest
2 голосов
/ 16 января 2020

Когда я добавляю сторонние компоненты в приложения React Native, такие как , это , часто говорится, что из-за автоматической привязки вам не нужно выполнять шаги ручного связывания. Для Android я заметил, что ни один из кодов, добавленных на этапах ручного связывания, таких как добавление кода в MainApplication.java, ни один из них не будет добавлен автоматически.

Кто-нибудь может объяснить, что здесь происходит? Нужно ли выполнять шаги ручного связывания для Android несмотря на автоматическое связывание?

1 Ответ

1 голос
/ 16 января 2020

для android, ссылка не требуется. начиная сact-native 0.6, автоматическая ссылка напрямую не добавляет int MainApplication.java.

в android settings.gradle, вы можете увидеть этот код:

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

in 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)

в конце мы должны знать только нам не нужна ссылка .

...