在android studio中导入react-native项目

时间:2016-07-26 03:00:28

标签: android-studio react-native

在Android工作室中打开/导入react-native时遇到一个小问题。

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

    如何解决我的问题?

  3. 谢谢,

1 个答案:

答案 0 :(得分:2)

只需从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: []
]

现在为您的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()
    }
}

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