问题标签 [code-push]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2725 浏览

react-native - 代码推送不更新 IOS 设备上的应用程序

我的代码推送正在模拟器上运行,但是当我在设备上运行相同的应用程序时,它会显示更新对话框,但是当我按下安装时没有任何反应。

附加信息

  • react-native-code-push 版本: 4.1.0-beta
  • 反应原生版本: 16.0.0-alpha.12
  • iOS/Android/Windows 版本: IOS 10.3
  • 这会在调试版本或发布版本上重现吗? 发布
  • 发布 这是在模拟器上重现,还是仅在物理设备上重现?仅限物理设备
0 投票
1 回答
147 浏览

android - 阻止 React Native App 运行,直到它被代码推送更新

我想知道是否有可能阻止用户访问应用程序中的任何屏幕,直到代码推送更新,这可能吗?如果可能的话,请你给我看一个例子,目标是在下载更新之前阻止应用程序启动。

0 投票
3 回答
879 浏览

react-native - 如何删除/隐藏忽略按钮 code-push react-native?

我是使用代码推送来响应本机应用程序的新手,一切正常,但是我想隐藏对话框中的忽略按钮。我不希望用户忽略我提供的任何更新,这可能吗?

0 投票
4 回答
5304 浏览

android - Android Studio 3 中的 react 生成的资源问题

我最近升级到 Android Studio 3

在我们的项目中,我们使用: "react-native": "0.46.4" 和codepush 插件

建造:

工作得很好,但是一旦我尝试建立生产:

我收到由 processProductinoReleaseResources 任务中的 react 创建的资源引起的错误:

在我对这个问题的征服中,我尝试禁用 proguard,例如:

但没有任何运气。

有任何想法吗?我还希望能解释一下这种 .flat 转换的 android 资源在哪里发生,它实际上做了什么,以及为什么它在 StagingDebug 任务期间没有发生。

这里介绍的解决方法最终对我有用。但我认为原来的问题仍然存在。

更新 28.3.2018由于 Android Studio 3.1 升级我得到这个:

由于反应页面上的问题已关闭,因此我正在寻找替代方案,然后再弃用该解决方法。

0 投票
1 回答
1572 浏览

react-native - React Native CodePush Android Release Build没有加载JS文件

我已尽力按照此处此处的说明进行操作。Android 调试版本 ( react-native run-android) 按预期在 Android 模拟器和我的设备上运行,即,它在每次新安装或更新后重新加载 JS 文件。但是,当我安装发布版本 ( react-native run-android --variant=release) 时,它会显示应用程序的第一个屏幕,并且所有应用程序功能都不起作用。我还没有尝试在 iOS 上安装。似乎它没有从 codepush 加载 JS 文件。当我检查日志文件时(在模拟器上安装发布版本时),它挂在这一行:

令人惊讶的是,发布版本试图在本地加载 JS 包而不是检查 CodePush 远程服务器。我的 React-native 和 react-native-code-push 版本是 0.45.1 和 3.0.1-beta。我已经将我的代码部署到了登台和生产代码推送服务器,并通过运行验证了它的存在

我还适当地配置了我的密钥。这样做了 10 多次后,有一次发布安装的日志文件实际上显示:

该应用程序提示我安装最新更新。但是,安装完成后它就崩溃了。从那一刻起,我就无法让它从 codepush 服务器加载文件。任何关于在哪里查看或如何调试的提示将不胜感激。我的应用程序是以native-starter-kit作为起点构建的。这是我的 settings.gradle 文件:

我的 build.gradle 文件的相关部分:

MainApplication.java:

0 投票
2 回答
774 浏览

code-push - CodePush - 无法连接到 localhost/127.0.0.1(端口 3000):连接失败:ECONNREFUSED(连接被拒绝)

由于连接问题,我正在使用code-push-server,我已设置一切正常,该应用程序显示更新应用程序对话框但无法下载。在日志中,我发现

我还可以看到来自 code-push 的第一个请求,返回的 JSON 如下所示,

在开发机器上,我可以访问下载网址并下载捆绑包。

请告知我是否做对了。

0 投票
2 回答
194 浏览

javascript - React Native 软件如何更新的详解

我正在开发一个React Native应用程序。它是一个使用 JavaScript 构建移动应用程序并使用相同代码库部署到 Android 和 iOS 的框架。

我在某处读到 RN 应用程序是动态更新的。这意味着,无需向 AppStore 或 GoogleStore 发布新版本,我们就可以对其进行更新。太棒了!

但我的问题是:我们怎么能这样做?我搜索了一下,发现可以使用Codepush。如果是这样,怎么做?它是免费工具还是我们应该付费?如果它不是免费的,难道没有免费的解决方案吗?

此外,通过动态更新,我们是否仅限于更新 JS 包,或者我们能够更新外部资产,如新字体、图像等?

如果专家通过详细信息和解决方法指导我,我将不胜感激。

干杯。

0 投票
0 回答
392 浏览

react-native - 使用代码推送更新 React Native 应用程序

我正在尝试使用code-push. 我的索引文件中有下一个code-push选项:

因此,在每个应用程序resume上都会检查是否有更新,但更新将安装在next应用程序恢复中。

但是我想在主屏幕上向用户显示一个按钮,如果更新可用,他们可以在按钮单击时手动安装它。

问题是该按钮显示在主屏幕上,如果更新仍在后台下载,并且如果他们在下载过程中单击没有任何反应,他们可以看到它。只有在下载更新后,单击按钮才会安装它。我尽量避免在下载更新期间显示该按钮。

我只想在更新完全下载后才显示该按钮。

我检查更新是否可用,componentDidMount如下所示:

我根据状态显示按钮如下:

知道如何解决吗?

0 投票
1 回答
934 浏览

react-native - CodePush 更新新安装的应用程序

我正在为我的应用程序设置代码推送,并发现了一个奇怪的行为。我编译了暂存应用程序并将其安装在 android 手机上,然后通过 code-push 推送了一些更新,这些更新下载得很好。

我没有在 android/app/build.gradle 中更改我的 apk 版本,因为我直接从 mac 安装到手机以在暂存模式下进行测试,它会覆盖以前的安装。

我跟踪 bugsnag 的 bundle-id,最后一个用于 code-push 的 bundle-id 是 1.6.5。经过更多修改后,我最终创建了一个新的 apk 用于安装,现在 bundle-id 是 1.6.7。我还没有将其推送到代码推送。一旦应用程序运行,它就会要求更新,如果我更新,我会从 code-push 获取旧包(bundle-id 1.6.5)。无法理解为什么我会得到旧代码作为更新。我没有正确设置一些参数吗?

反应原生:0.44.1

反应原生代码推送:2.1.1-beta

0 投票
2 回答
261 浏览

cordova - 通过 VSTS 发布时出现 CODE-PUSH 错误

在通过 VSTS 上的代码推送扩展推送发布时,我收到以下错误,不知道为什么!

在此处输入图像描述

尝试以下解决方案之一,在构建定义中添加名为“Build.SourceDirectory”的变量并获取以下错误日志

在此处输入图像描述

可以在以下链接中查看日志文件:https ://drive.google.com/open?id=1OC49xlDOEQekO9gqdrj0NQCMPz8onTRX

尝试了 Eddie 建议的解决方案(删除 bower 和 node 模块的文件,因为它们在构建时重新生成)并得到以下错误。

尝试 Eddie 的解决方案时出现以下错误