【问题标题】:Importing react-native project in android studio在 android studio 中导入 react-native 项目
【发布时间】:2016-11-29 12:57:39
【问题描述】:

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

  1. 如果我使用打开项目对话框打开项目,它会告诉我该项目未启用 gradle,并且进行和测试代码更改非常痛苦。即使在浏览了帮助网站上的资料后,也无法找到如何将项目启用为 gradle 项目。
  2. 另一方面,如果我使用 import a gradle project 对话框导入并选择 build.gradle 文件,则项目已导入,但我只看到 android 目录中的文件,而不是主项目目录。但是这种方法让我可以轻松地将更改推送到模拟器。

    如何解决我的问题?

谢谢,

【问题讨论】:

  • 你选择了哪个文件夹用android studio打开项目?它应该是“android”文件夹。
  • 是的,我使用了 android 文件夹。我可以在 IDE 中看到 android 文件夹中的所有内容。但是,对于 react-native,看起来约定是将 android 文件夹之外的主要 js 文件放在单独的文件夹中,因为它在 iOS 和 Android 版本之间共享。因此我希望能够编辑 js 文件,但由于该文件夹位于 Android 文件夹之外,因此我看不到它。我必须使用像 Sublime 这样的单独编辑器来访问 js 文件。这并不理想,因为我必须不断从 Android Studio 切换到 Sublime 到模拟器

标签: android-studio react-native


【解决方案1】:

只需从 Android Studio 导入 android 目录, 更改您的 app/build.gradleapply from: "../../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 任务以激活热重载

【讨论】:

    猜你喜欢
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    相关资源
    最近更新 更多