如何在 android 中远程更新我的 cordova/phonegap 移动应用程序?
Posted
技术标签:
【中文标题】如何在 android 中远程更新我的 cordova/phonegap 移动应用程序?【英文标题】:How to update my cordova/phonegap mobile application remotely in android? 【发布时间】:2017-02-08 17:24:36 【问题描述】:我用 cordova + angularjs + sqlite 编写了移动应用程序。我需要将它直接从我的服务器分发到不通过 google play 的设备。
现在我需要更新 android 设备上 www
目录中存储的 javascript 文件。我尝试将文件从应用程序目录 (/data/data/my.application.directory/
) 传输到某个公共设备目录或服务器,反之亦然 - 没问题。但问题是www
目录是file:///android_asset/
的一部分,它是只读的,所以我无法在其中存储任何数据。
有什么想法吗?谢谢。
【问题讨论】:
【参考方案1】:这是我用于更新我的应用的方式,我没有使用 Google Play 或其他商店:
我正在使用这个 cordova 插件:https://github.com/whiteoctober/cordova-plugin-app-version 来检查我的实际应用版本
cordova.getAppVersion.getVersionNumber().then(function (version)
if(version)
// Check the server reference version
);
之后,我将应用版本号发送到服务器 服务器检查发送的版本和参考版本之间的差异
如果设备应用版本较旧,我会将新版本返回给我的应用客户端
【讨论】:
我认为没有必要使用插件来检查版本。问题是关于替换应用中的资产文件。【参考方案2】:您几乎没有提供有关您的应用程序、代码以及您正在尝试做什么的信息,但无论哪种方式,让我尝试为您提供帮助。
如果您要做的是修改已发布/下载的 Android 客户端 www 目录中的文件,那就算了,您需要直接访问设备,并且此代码在您发布时已捆绑。
如果您正在寻找热码推送解决方案,there might be a way of doing so installing additional cordova plugins
当您在商店中发布您的应用程序时,您会将所有 Web 内容打包到其中:html 文件、JavaScript 代码、图像等。有两种方法可以更新它:
在商店中发布新版本的应用程序。但这需要时间, 尤其是 App Store。 牺牲离线功能并在线加载所有页面。但是作为 互联网连接中断 - 应用程序将无法运行。解决方案:install cordova-hot-code-push
【讨论】:
我尝试了你提到的插件cordova-hot-code-push
,它运行良好,但它仍然只是替换整个包。谢谢。以上是关于如何在 android 中远程更新我的 cordova/phonegap 移动应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Android中找到崩溃Cordova应用程序的内容?
如何添加 Android 意图以在 Cordova/Ionic 项目中打开谷歌地图?
Android - 应用更新时的 Firebase 远程配置缓存