当前位置: 首页 > 知识库问答 >
问题:

react原生项目如何在android上使用离线捆绑?

郑西岭
2023-03-14

如何在Android上使用脱机绑定?
我没有看到关于在Android上使用脱机绑定的文档。
我试图取消build.gradle中的代码注释。

project.ext.react = [
        // the name of the generated asset file containing your JS bundle
    bundleAssetName: "index.android.bundle",

    // the entry file for bundle generation
    entryFile: "index.android.js",

    // whether to bundle JS and assets in debug mode
    bundleInDebug: false,

    // whether to bundle JS and assets in release mode
    bundleInRelease: true,

    // the root of your project, i.e. where "package.json" lives
    root: "../../",

    // where to put the JS bundle asset in debug mode
    jsBundleDirDebug: "$buildDir/intermediates/assets/debug",

    // where to put the JS bundle asset in release mode
    jsBundleDirRelease: "$buildDir/intermediates/assets/release",

    // where to put drawable resources / React Native assets, e.g. the ones you use via
    // require('./image.png')), in debug mode
    resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",

    // where to put drawable resources / React Native assets, e.g. the ones you use via
    // require('./image.png')), in release mode
    resourcesDirRelease: "$buildDir/intermediates/res/merged/release",

    // by default the gradle tasks are skipped if none of the JS files or assets change; this means
    // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
    // date; if you have any other folders that you want to ignore for performance reasons (gradle
    // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
    // for example, you might want to remove it from here.
    inputExcludes: ["android/**", "ios/**"]
]

但是它没有工作。它仍然从服务器获取JS包。
是不是我错过了什么?

共有1个答案

仲孙兴平
2023-03-14

对于将JS离线绑定到android,首先在各自的项目路径中启动服务器:

>

  • 服务器启动时,使用与项目路径相同的路径打开下一个终端
  • 复制并粘贴此命令:在复制并粘贴命令propmt中的命令之前,请将project中的assets文件夹设置为相应路径
    为:
    android/app/src/main/assets

    在命令提示符中粘贴此命令并运行:

    react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    

  •  类似资料:
    • 我目前在react Native上有点挣扎。我想拥有的是一个基于react原生的库项目,然后我可以包括在我的一些应用程序。 通过启动dev-server没有任何问题,但是只要我启动Android应用程序,就会得到folowwing logcat输出: 请注意,我执行了操作,但仍然显示错误。 稍后,我想从Android库项目中创建一个aar,并通过Maven访问它。

    • 我开始使用atom文本编辑器开发android应用程序。只要我用JS和JSX编写代码,它就可以正常工作。 我必须做的功能是不可用的反应原生,所以我需要写java代码一样https://facebook.github.io/react-native/docs/native-modules-android.html 演讲模块。Java语言 我不想在atom中编写Java代码,因为建议不起作用。我们可以

    • 我正在没有互联网连接的计算机上开发反应本地应用程序(我无法将其连接到互联网), 我已经根据android工作室指南配置了本地存储库和android插件 并在本地连接了gradle。 所有的配置工作正常,但项目仍然没有编译,我得到了我使用的react本机模块(这里的例子)的未解决的依赖关系。 我花了两周时间试图解决这个问题,但失败了。 我还没有找到解决办法 Android Studio版本是3.5.

    • 在Android上这样做的正确方法是什么?

    • 使用pathTemplate指向my tiles位置,该位置必须具有以下层次结构: 因此,我真正的问题是如何为我的区域获取瓷砖。 我可以通过从google maps瓷砖服务器中保存瓷砖来手动完成,但是我不知道它是否合法,而且它也会花费很多时间和计算(当放大时,我需要计算下一个瓷砖的协调) 所以这将是很好的,如果google map API提供了一种下载一个区域瓷砖的方法(需要缩放), 另一种选择是

    • 我正在尝试对现有的android项目进行本地集成,但在android studio中构建项目时出现了以下异常。 原因:java.lang.Exception:React Native CLI无法确定Android项目配置。这可能是由于配置错误。配置输出:[root:/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-ract-