android 源码编译报错 imgdiff,OTA生成差分包内置应用报错

ota做差分包的时候遇到个问题,生成差分包在内置应用做差分的时候会报错

ERROR:

Failed to generate imgdiff for //system/priv-app/TestApp_1/TestApp_1.apk: tgt=70499-75692 75694-75930, src=70499-71112:

W/ziparchive(25145): Zip: bad offsets (dir 22384640, size 53154, eocd 22245282)

imgdiff E 07-14 14:21:25 25145 25145 imgdiff.cpp:661] Failed to open zip file /tmp/tgt-KxNSNW: Invalid offset

排查应用后发现是因为so文件,导致差分包生成报错

我是采用以apk的形式内置应用到系统的,so文件是直接集成到apk里的,没有导出来使用Android.mk引用,因为这样也没报错,谁想差分包生成会出问题。

既然是因为so文件导致报错,那就导出so文件

解压apk so文件都是放在lib 目录下的

38f9f909dcecb7927d55d751b182d20a.png1a15e37dbf83d6fa9e56fcaa7876944c.png

将整个lib导出来,跟apk放同一级目录,然后删除apk里的lib目录。

修改Android.mk 增加

LOCAL_PREBUILT_JNI_LIBS :=

lib/arm64-v8a/libnative-lib.so

lib/arm64-v8a/libopencv_java3.so

我的so文件是只要用64位的,如果系统是64 so只有32位的话 还需要加

LOCAL_MULTILIB := 32 指定编译32bit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值