加载捆绑包,用于从远程服务器本地响应[Android]

时间:2017-12-07 10:37:47

标签: android react-native

我尝试在android app中为native native创建一个离线包。我使用了以下步骤: -

react-native init myProject
react-native run-android

使用以下命令创建离线js包: -

reac-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest asset-path

然后使用以下命令构建一个apk并安装在设备中,一切都很好。

.\gradlew assembleRelease

现在我的问题是设备中的应用程序是否可以从特定服务器获取捆绑包,例如在这种情况下,我希望将index.android.bundle保留在远程服务器中,每次用户打开应用程序时,它应该从特定的IP。所以我需要在创建bundle之前提供一些ip地址。

经过一些谷歌我发现AppDelegate.m是ios的文件,我们可以提到ip地址。对于Android来说,它是主要活动,你骑过getJSBundle方法,但信息不清楚。任何链接或步骤要做这很有帮助。

1 个答案:

答案 0 :(得分:0)

我使用以下步骤完成了这项工作,希望对您有所帮助。

  1. 使用以下命令创建应用程序包。这将创建一个扩展名为.bundle的文件和一个包含所有其他资源文件(.jpg,.json等)的res文件夹。
  2.   

    react-native bundle --platform android --dev false --entry-file           index.android.js --bundle-output            android / app / src / main / assets / index.android.bundle --assets-dest            机器人/应用/ SRC /主/ RES /

    1. 在我的情况下将此捆绑包与服务器中的资源文件夹一起部署我使用带有简单Web配置文件的IIS服务器来下载捆绑包文件。
    2. 在Android的情况下: -

      1. 您需要添加将使用URL下载捆绑包并将其存储在您的应用中的帮助程序类。
      2. 从主应用程序覆盖getJSBundleMethod()(可在android文件夹中找到)以改为使用此路径。
      3. 如果是IOS: -

        1. 简单只需重置AppDelegate.m文件中的路径。