鸿蒙 har生成以及 har 和jar互相转换

前言:

各位同学大家好,最近在写鸿蒙的手游SDK项目。 我们肯定遇到这种需求 就是需要把你代码封装成本地库
给别人接入,这时候我们肯定不能直接给源码我们需要一个本地库 har 类似安卓的aar一样,我们今天要讲的时候怎么生成har 以及har和jar包之间转换过程。

具体步骤:

  • 首先创建我们的library 工程
new 一个module
image.png
选择 HarmonyOs Library
image.png

然后我们选择phone端就行了 这边只开发手机的版本

image.png

如图创建成功的
image.png

然后我们把mylibrary 依赖到我们主工程上面去
在build.gradle里面添加

  implementation project(':mylibrary')
image.png
我么可以测试下项目是否能正常运行。
可以运行我们打包har
image.png

我们拿到 har

image.png

然后解压

image.png

我们用反编译工具查看源代码


image.png

解压classes.jar。命令:$ unzip classes.jar -d tempFolderClasses
把第二步生成的.class文件放到tempFolderClasses文件夹下对应的地方替换掉以前的.class文件(大功即将告成)

  • 打包源码为 classes.jar

$ jar cvf newClasses.jar -C tempFolderClasses/ .(注意斜杠后面加空格与.)

再把这个newClasses.jar放回tempFolder并删除之前的,修改文件名为classes.jar
将资源文件和新的jar 再次打包成har

$ jar cvf newAAR.har -C tempFolder/ .

最后生成新的aar 就是我们需要的aar 。 这样我们就可以在没有源代码的情况下去修改aar内部东西 然后重新编译生成 aar 来带到我们偷天换日 瞒天过海的目的 哈哈哈
最后总结:
对于鸿蒙 工程怎么生成har 以及 怎么转成jar 和 还有jar和分散资源怎么还原成har 我就讲完了 ,希望能帮助到各位的学习和工作 最后希望我的文章能帮助到各位解决问题 ,以后我还会贡献更多有用的代码分享给大家。各位同学如果觉得文章还不错 ,麻烦给关注和star,小弟在这里谢过啦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容