当前位置:   article > 正文

安卓应用移植鸿蒙(一)——先做个梳理_安卓aar有引用第三方库 如何移植鸿蒙

安卓aar有引用第三方库 如何移植鸿蒙

上篇文章说,鸿蒙应用开发和安卓应用开发非常像,那么你是不是有个想法,出个一键转码工具,直接给你转成鸿蒙的,我tm真是天才!

这个问题我咨询过华为的内部人士,确实有这样的工具,正在开发,预计2021年底能随着DevEco一起上线,但是泼个冷水,我觉得它只能简单转码,不能做到完全转码,因为安卓很多功能和接口鸿蒙都没有,现在的鸿蒙应用开发,和2011年安卓开发的市场资源是非常像的。

所以如果我们自己去移植自己的安卓应用到鸿蒙,应该怎么弄?先来做个梳理:

1)与安卓无关的代码

纯java代码,可以直接使用,比如Google的Gson,笔者验证过Gson2.85版本,okhttp4.91版本,都是可用的。多说一句okhttp3,里面有个Platform文件,封装了一些安卓平台的用法,猜测可能是对安卓平台的socket进行了一层筛选。

2)与安卓有关,但是有鸿蒙原生版本的应用

这些可以直接用,笔者验证的常用的Glide库是可以直接,lottie、ijkPlayer这些,现在有的华为官方的鸿蒙第三方库(猜测华为鸿蒙有个专门的团队在做这事,一些库我还看到了润和移植开发的)

所有鸿蒙原生第三方库完整的库链接:# Harmony-最新最全鸿蒙常用开源库总结

3)上述的两种都不存在

只能依靠自己移植了,这些库一部分是和安卓相关,还有一部分是纯Java写的,那么理论上,只要替代安卓相关部分为鸿蒙的组件即可,比如ViewModel,LiveData这些,举两个常用的组件例子:

        1、安卓的SharedPreferences,鸿蒙里替代的叫Preferences,轻量级存储

        2、安卓的Handler,鸿蒙里替代的叫EventHanlder

4)有些鸿蒙目前并没有替代方案

比如多渠道的Flavour打包,官方回复不支持,Kotlin和协程,官方回复目前也不支持!

先梳理到这里,下篇文章说说,怎么移植Resource的资源带鸿蒙里,因为安卓是xml写的,鸿蒙是json写的,如果不能批量移植,会写死人

给两个华为的官方开发这文档地址:

1.鸿蒙的组件介绍和简单示例

2.鸿蒙的api参考在线文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/98268?site
推荐阅读
相关标签
  

闽ICP备14008679号