现有项目基于SDK 16,ARKUI开发,在鸿蒙系统下运行正常。考虑到跨平台需求,尝试迁移到ArkUI-x框架下。
首先新建一个ArkUI-X 空白项目,然后将已有项目的entry文件夹覆盖空白ArkUI-x下同名文件夹,下面将相关问题记录如下:
1、出现较多的API在cross platform项目下不支持,我的项目里使用了pura的几个第三方库,移除对第三方库的引用,解决大部分问题;
2、错误: 程序包ohos.stage.ability.adapter不存在 import ohos.stage.ability.adapter.StageActivity,这个问题花费了我较多时间,最终怀疑entry文件夹下某些配置文件跟X跨平台项目不匹配,经过跟原空白项目逐个文件对比,发现
entry/hvigorfile.ts 文件不同,清空原来内容,将以下内容从模板项目复制过来
|
1 |
export { HapTasks } from '@ohos/hvigor-ohos-arkui-x-plugin'; |
上述错误解决。
3、在Andorid系统下,Image()组件在调用网络图片时不显示。因为调试环境不支持SSL,使用http访问图片和后端API。最初怀疑是安卓的安全限制不允许访问http资源,但是考虑到后台接口也是http,可以正常访问,就放弃了这个怀疑。几经辗转后还是回到这个问题,在AndroidManifest.xml的<application 节中增加
|
1 2 3 4 |
<application android:name=".MyApplication" ...... android:usesCleartextTraffic="true"> |
图片可以正常显示