继上一篇文章鸿蒙HelloWorld之后,我们这次来看对比一下,鸿蒙产物HAP文件和Android的APK文件的差异。如果还没搭建好开发环境,建议参考上一篇文章 鸿蒙HelloWorld .
按照DevEco-Studio模板,运行编译之后,会生成一个HAP文件:
我们将文件后缀改成.zip ,然后解压缩:
WO,不看不知道,一看吓一跳,我们看到了大家都熟悉的.APK文件。
接下来,我们反编译一下APK文件:
反编译过程就不在这里说了,大家可以自行百度。
打开AndroidManifest.xml 看下:
可以看到,系统帮我们自动生成并注册了一个 MainAbilityShellActivity,感觉就像之前做插件化的壳应用。
可以看到,这里的.APK文件,就是我们Android生成的APK文件。
然后我们通过AndroidStudio打开跟APK文件同级的class.dex 文件:
我们看到,这才是我的实际编写的代码。
最后总结一下:
虽然网上很多人说鸿蒙其实就是Android套了一层壳,虽然我们也确实在HAP文件里面看到了APK文件,但是我还是相信在鸿蒙上,华为还是做了很多改动,这么做只是为了兼容Android。后续还会接着为大家解析鸿蒙,未完待续。