Flutter,Android,java现在又来了个国产鸿蒙,国产鸿蒙2-0预览分析

真正的鸿蒙SDK API在 ohos.jar ,可以结合 鸿蒙API文档 查看。

开发语言有 Java,C/C++ ,JS 分别面向不同的开发场景,Java的开发体验跟Android基本一致,Android开发者可以无缝切入。

Hap是鸿蒙的执行文件,里面包含了一个 classes.dex 和 entry_signed_entry.apk ,entry_signed_entry.apk 是个壳子,目前看来它的作用就是用来调起 根路径下的 classes.dex 。

根路径的classes.dex里面的构建GUI的上层应用代码,基本脱离了AndroidAPI,但明显看出来是在仿着Android进行:

关于渲染引擎,官网只能找到资料是3D引擎支持 OpenGL 和 Vulkan, 2D 引擎没有看到任何资料,搞不好也可能是Skia,毕竟国内也没有成熟的好引擎,我们欠缺的太多了。

AIDL 仿了一个 IDL ,接口设计也类似,底层不知道也是仿着写的,还是直接复用了Android的机制。

JNI理论上应该支持,但是目前文档上没有看到介绍。

一些jetpack的东西,类似livedata 和 databinding的机制也仿了,线程操作引入了类似 RxJava的调度器机制。

没有什么高大上的东西,国内在操作系统领域跟国外技术代差太大了,只是新手在刷经验值的阶段,先模仿做好了,再想高大上的事情吧。

目前,看到或许是个优势的亮点,也就是超级虚拟终端的跨设备整合能力:

看文档介绍,这个能力可以让一个应用的A页面和B页面分别运行在不同的设备上,就好像在同一个设备上使用一样,能随便拖拽一个页面从A设备到B设备上,还可以继续使用,嗯,如果是这样的场景,还是挺香的。

再就是自己进行完整的系统设计,也是有优势的,例如,热更新能力想支持就能支持:

总的来说,按目前的资料看,鸿蒙就是仿了一个Android,进行艰难的国产化,三五年内想超越Android是不现实的,国内在操作系统这方面几乎等同于空白,能从仿一个开始起步,已经是最好的结果了。希望国产牛逼的,也要考虑到事物发展的定律,没有足够的积累,是无法横空出世一个厉害的操作系统的,罗马不是一天建成的。至少在现在这个阶段,完整的仿一个系统,按自己的理解进行重写,已经是一个好的开端了,系统层源码看不到,不清楚系统核心出来以后会是什么样,但至少现在,它迈出了第一步,应该给予鼓励和支持。

想要体验一下的,可以在官网直接下载 Huawei Dev Eco Studio ,直接新建Java版本的工程即可:

Huawei Dev Eco Studio 通过 IdeaA 改的,跟Android Studio 一样,使用方式相信做Android开发的同学都一看就懂。

目前鸿蒙开发的应用只能跑在鸿蒙机器上,手头没有鸿蒙机器,模拟器又不能用的情况下,只能使用华为的远程机器,通过 Tools -> DevEco Login 登陆华为开发者账户,再使用 HVD Manager 创建远程机器,就可以调试使用了。

成功连接远程鸿蒙TV设备:

成功运行我们用鸿蒙SDK编写的Demo:

再补充一下,现在华为的HVD Manager连接的服务还是个小水管,我昨晚下了100多遍才下载成功30M的插件。

开始都是10多Kb的速度,直到过了12点,可能下载的人少了,才到了100多Kb。

当你看到这个报错的时候:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

!**

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter Android v2 embedding 是 FlutterAndroid 平台上的第二种嵌入方式,它是在 Flutter 1.12 版本中引入的。相比于 v1 embedding,v2 embedding 提供了更好的性能和更灵活的集成方式。 升级到 v2 embedding 需要进行以下步骤: 1. 更新 Flutter SDK 到 1.12 版本或更高版本。 2. 在 Android 项目中添加以下依赖项: ``` dependencies { implementation 'com.google.android.material:material:1.2.1' implementation 'io.flutter:flutter_embedding_v2:1.0.0-rc.2' } ``` 3. 更改 Android 应用程序的启动方式,使用 `FlutterActivity` 代替 `FlutterActivityV1`,例如: ``` public class MainActivity extends FlutterActivity { // ... } ``` 4. 在 `AndroidManifest.xml` 文件中,将 `FlutterActivity` 的主题更改为 `Theme.AppCompat.Light.NoActionBar`,例如: ``` <activity android:name=".MainActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> </activity> ``` 5. 在 `MainActivity` 中,创建一个 `FlutterEngine` 对象,并将其传递给 `FlutterFragment` 或 `FlutterView`,例如: ``` public class MainActivity extends FlutterActivity { private FlutterEngine flutterEngine; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); flutterEngine = new FlutterEngine(this); FlutterFragment flutterFragment = FlutterFragment.withCachedEngine(flutterEngine).build(); getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, flutterFragment).commit(); } } ``` 这些步骤可以让你从 v1 embedding 升级到 v2 embedding,以获得更好的性能和更灵活的集成方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值