HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk 原创

发布于 2021-8-4 21:17
浏览
1收藏

打开hap文件,解压得到如下目录

HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
很有意思hap包下还有apk包,包中包啊 接着解压apk包得到如下目录
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
这看着是一个标准得apk包了,dex转化成jar,打开jar如下
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
注意开发工具自动生成了MainAbilityShellActivity,注意我们工程得ability名字叫做MainAbility也就是说根据工程得ability自动加上ShellActivity,

查看ShellActivity代码如下
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
注意AbilityShellActivityDelegate在开发工具中看不到代码了,咋找到代码今天先放放,以后说,那我们自己写的Ability的class文件在哪呢 ,别忘了hap根目录还有一个dex文件,我们去打开
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
很悲催,怎么办,用edit或notepad打开查看
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
发现数字为38,那我们把它改了 改为35,然后运行成功打开如下
HarmonyOs和Android的关联性2:鸿蒙hap和安卓apk-开源基础软件社区
这次终于看到我们自己代码,写的ability了,猜想ability开始运行的流程是从MainAbilityShellActivity开始,MainAbilityShellActivity中的AbilityShellActivityDelegate是个委托类,委托类持有了ability,就这样activity的运行周期和ability以及AbilitySlice的运行周期绑定了一起。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-8-4 21:18:32修改
1
收藏 1
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐