在android studio中导入react-native项目

Gav*_*Ang 5 android-studio react-native

打开/导入反应原生到Android工作室有一个小问题.

  1. 如果我使用打开项目对话框打开项目,它会告诉我项目没有启用gradle,并且制作和测试代码更改是一件很痛苦的事.即使在浏览帮助网站上的资料之后,也无法了解如何在项目之后启用项目作为gradle项目.
  2. 另一方面,如果我使用导入gradle项目对话框导入并选择build.gradle文件,则导入项目,但我只看到android目录中的文件而不是主项目目录.但是这种方法允许我轻松地将更改推送到模拟器.

    我该如何解决我的问题?

谢谢,

Put*_*yah 4

只需从 Android Studio 导入android目录,对app/build.gradle进行更改,然后在应用 之前添加这些代码:“../../node_modules/react-native/react.gradle”

project.ext.react = [
        bundleAssetName: "index.android.bundle",
        entryFile: "index.android.js",
        bundleInDebug: false,
        bundleInRelease: true,
        root: "../../",
        jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
        jsBundleDirRelease: "$buildDir/intermediates/assets/release",
        resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
        resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
        inputExcludes: ["android/", "ios/"],
        nodeExecutableAndArgs: ["node"],
        extraPackagerArgs: []
]
Run Code Online (Sandbox Code Playgroud)

现在为你的 gradle 创建“react-native start”任务

task startReactNative(type: Exec) {
    workingDir "../../"
    commandLine  'cmd', '/c', 'react-native', 'start'
    println "Working Directory for React is: $workingDir"
    standardOutput = new ByteArrayOutputStream()
    ext.output = {
        println "React-Native Output: " + standardOutput.toString()
        return standardOutput.toString()
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以照常运行您的应用程序,将应用程序安装到您的设备后,运行startReactNative任​​务以激活热重载