我试图在登台时使用Microsoft的Codepush发布React-Native Android应用程序,这已遵循网站上的给定指令并能够在登台时构建捆绑文件并成功发布,但没有看到我发布的移动设备上的更新更改 .
首先,我使用usb在设备上运行应用程序(在设备上运行) .
之后使用Codepush在应用程序和发布时进行一些更改但是当我在移动设备上重新启动应用程序时没有显示更改 .
https://github.com/Microsoft/react-native-code-push#getting-started Android设置
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
我已经使用versionName 1.0.0在移动设备上安装了aap并在应用程序代码中进行了一些更改,然后再次构建捆绑包并使用版本名称1.0.1发布应用程序 .
这里我没有更改 buid.gradle
中的versionName只更改了发布命令 code-push release App-Android codepush.js 1.0.1
中的versionName
我是否需要每次在 build.gradle
中为新版本更改versionName并在发布命令中使用相同的版本?
有人可以帮忙吗?谢谢
2 回答
在不知道用于捆绑JS然后将其发布到CodePush的确切CLI命令的情况下,很难确切地知道可能会发生什么,但是有两种可能性,您应该仔细检查您是否正确执行:
调用CodePush CLI的发布命令时,请确保将JS包文件的路径作为更新内容传递 . Android目前不支持更新图像,因此,它不支持给定文件目录 . 如果您尝试发布目录,CLI和服务器将允许它,但应用程序中的插件在与服务器同步时将无法安装新更新,因为它无法理解内容 . 这是一个临时限制,将在即将发布的插件中解决 .
调用CodePush CLI的发布命令时,请确保指定更新应定位的应用程序的确切二进制版本 . 对于Android,这是build.gradle文件中的android.defaultConfig.versionName属性 . 如果你在一个全新的项目上测试CodePush,这可能是“1.0.0”,所以只需确保你将这个确切的版本传递给release命令 . 否则,当插件尝试与服务器同步时,它会认为该版本没有以它为目标,也不会尝试安装它 .
确保您在MainActivity文件中指定的部署密钥实际上与York分段部署相对应 . 您可以通过运行“code-push deployment ls”并将代码中的密钥与暂存部署的密钥进行比较来确认这一点 .
您可以通过查看CLI文档了解有关release命令的更多详细信息以及每个参数的行为:http://microsoft.github.io/code-push/docs/cli.html
如果这些都不是您的问题,那么如果您可以分享您正在运行的确切步骤以发布更新,那么将会有所帮助,同时,请查看Chrome控制台(或logcat)并让我们知道记录的内容你看到了 . CodePush插件将报告配置/等中的错误 . 帮助您诊断它们 .
我得到了像你这样的错误 .
检查捆绑文件
check release命令(代码推送版本YouApp your_bundle_file版本)
如果您在
android.defaultConfig.versionName
中设置为1.0.20,那么您需要像这样发布:代码推送版本YouApp your_bundle_file 1.0.20
您需要发布版本1.0.20,直到您更改
android.defaultConfig.versionName
版本(1.0.21),然后您需要发布版本1.0.21 .注意:在应用程序
android.defaultConfig.versionName
更改之前,version
in release命令无法更改 .