如何在不重建 apk 的情况下更新现有已安装应用程序的 Ionic 资产文件夹?
Posted
技术标签:
【中文标题】如何在不重建 apk 的情况下更新现有已安装应用程序的 Ionic 资产文件夹?【英文标题】:how to update Ionic's assets folder for existing installed app, without rebuilding apk? 【发布时间】:2021-07-12 16:05:58 【问题描述】:我正在开发离线 Ionic + Angular(android 目标)应用程序,其中所有数据都显示在存储在 assets
文件夹中的 json
中。
应用程序本来是离线工作的,但是当json
数据有更新时,我现在正在重建 APK 以在资产中提供更新的数据。
我想在不提供新 APK 的情况下使用更新后的 JSON 更新资产,可以吗?
Ionic 是否有任何功能,用户可以上传新的json
文件,可以在资产中添加/更新/替换以刷新数据而无需重建 APK?
我相信 json
存储在资产中是 APK 包的一部分,我需要将 json
存储在其他地方吗
或者更新数据库也需要重建APK?
请建议管理这种情况的最佳方法。
【问题讨论】:
APK 无法更改,因为这会导致其签名发生更改。您可以将文件保存在 App 的文件夹中,并在回退到 Assets 文件夹之前检查其中是否有 JSON 文件。这种方式需要完全不同的编码方式,所以... 使用这个插件来存储你的数据:ionicframework.com/docs/native/sqlite 感谢@emandt 建议将其存储在 App 的文件夹中,我会试试看。 【参考方案1】:不生成新的 Build 就无法更新资产
如果您使用的是cordova,则可以尝试Codepush。这是向应用推送更新的绝佳解决方案
或者您可以将数据存储到数据库并进行管理。
【讨论】:
感谢 @Vijay 分享 CodePush 服务,但如果我们有任何其他存储解决方案,如问题中提到的,那么想先采用这种方法 您可以使用数据库来存储您的数据,然后如果您更改数据,它会将更新的数据反映到您的应用程序中。我建议使用firebase。其他解决方案是 Ionic 自己的 AppFlow 服务。这就像 codepush 但更好。 ionic.io/appflow以上是关于如何在不重建 apk 的情况下更新现有已安装应用程序的 Ionic 资产文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用文件或文件路径的情况下获取文件系统(不仅仅是已安装的)中 APK 文件的信息?
如何在不使用 Playstore 的情况下发送 App 更新和自动安装?
如何在不重建所有 RemoteView 的情况下部分更新应用小部件中的视图