ionic项目升级到cordova-android 10出现数据读取不到的问题

在将ionic项目升级到cordova-android 10.0.1后,数据丢失,经排查发现新旧版本的Cordova数据存储位置不同。通过Chrome调试工具观察到,旧版存储在file:///,新版存储于localhost。官方文档指出,这是cordova-android 10的更改。为解决数据读取问题,需在config.xml的Android设置中添加特定配置,重新打包后测试,数据读取恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ionic项目升级到cordova-android 10.0.1后,用打出来的新版本的包覆盖旧版本的包后发现数据没了,再拿旧版本的包把版本改成和新版本的包去覆盖更新后的包发现数据又有了。所以怀疑是不是新旧版本的Cordova存的数据在不同的地方。

用chorme去debug发现,(chrome   debug的网址是chrome://inspect/#devices   手机开启usb调试连上电脑并且打开你的ionic项目app就可以看到了)

新旧版本的debug时候的url都不一样,点开application里面的storage发现security origin旧的是file:/// ,新的是locahost

url:

    旧:file:///android_asset/www/index.html  
    新:https://localhost/index.html

然后在官网上看到了cordova-android 10升级后的特点:

Cordova Android 10.0.0 Released! - Apache Cordova

也就是说这个保存位置的变化刚好是这个cordova-android 10升级的

按照官网的做法,只要在config.xml里面的Android的设置里加上下面这句话再重新打包再去测试新版本覆盖旧版本,就可以读取到数据了。

<preference name="AndroidInsecureFileModeEnabled" value="true" />

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值