【发布时间】:2016-01-23 11:17:31
【问题描述】:
我正在尝试使用 Microsoft 的 Codepush 在暂存时发布 React-Native Android 应用程序,因为它遵循了网站上的给定说明,并且能够构建捆绑文件并在暂存时成功发布,但在移动设备上没有看到更新的更改我发布了。
首先我使用 USB 将应用程序安装在移动设备上(在设备上运行)。
之后,使用 Codepush 对应用程序和发布进行一些更改,但是当我在移动设备上重新启动应用程序时没有显示更改。
https://github.com/Microsoft/react-native-code-push#getting-started 安卓设置
app/build.gradle :-
defaultConfig : versionName: "1.0.0",
signingConfigs : release { storeFile file("my-release-key.keystore")
storePassword "myapp"
keyAlias "alias-key"
keyPassword "myapp"
}
buildTypes: signingConfig signingConfigs.release
dependencies: compile project(':react-native-code-push')
setting.gradle :-
include ':app', ':react-native-code-push'
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')
CLI 命令:-
react-native bundle --platform android --entry-file index.android.js --bundle-output codepush.js --dev false;
code-push release App-Android codepush.js 1.0.0
我已经在移动设备上安装了版本名称为 1.0.0 的 aap,并对应用程序代码进行了一些更改,然后再次构建包并发布版本名称为 1.0.1 的应用程序。
这里我不更改buid.gradle 中的版本名称,仅更改发布命令code-push release App-Android codepush.js 1.0.1 中的版本名称
我是否需要每次在 build.gradle 中更改 versionName 以获得新版本并在发布命令中使用相同的版本?
有人可以帮忙吗? 谢谢
【问题讨论】:
-
能否指定用于构建 JS 包然后将其发布到 CodePush 的 CLI 命令?这将有助于确定可能发生的情况。此外,请确保您传递给“code-push release”命令的二进制版本与您的 RN Android 应用程序的 build.gradle 文件中指定的版本完全相同。未传递正确的版本号是无法从正在运行的应用程序中发现更新的常见原因。
-
@JonathanCarter 请查看我已指定相关命令:谢谢
-
正如下面的答案所提到的,除非您将 build.gradle 文件中的版本更改为1.0.1。在上面的示例中,只需将 1.0.0 传递给“代码推送发布”,一切都会按预期工作。
-
@JonathanCarter 请指定将更改反映给用户需要多长时间。
-
当您通过 CodePush CLI 发布更新时,它会立即可用。但是应用程序仍然需要调用 sync/checkForUpdate 来发现它,因此一旦应用程序与服务器同步,您的用户就可以使用它。
标签: javascript android react-native