Android so找不到的问题记录-Android适配

360 阅读1分钟

    前提背景,Android 系统定制一般需要提前将APP的so提供给系统定制团队,然后集成到系统的arm-v7等相关目录中,但是在开发Android12的系统中遇到一个问题,就是google的cts测试要求so不能压缩,否则CTS不过! 部分的定制ROM不压缩的so,集成的时候不能走释放so的逻辑,在多CPU目录找不到so,所以我们怀疑这是一个集成失误。但是其实不是这个原因。参加如下:

  1. Android 11后 关于native库的配置参考:developer.android.google.cn/studio/rele…
  2. **android:extractNativeLibs="false"**的Apk内native so不压缩,so不释放也能够被其他应用访问
  • We can check its compression through the following command:

  • zipinfoZmYour.apkgrep".so zipinfo -Zm **Your.apk** | grep ".so"

  • Apk需要满足4字节对齐:zipalign -c -p -f -v 4 Your.apk(验证成功显示success等)

  • And we can check its alignment with the following command:

  • $ zipalign -c -p -f -v 4 Your.apk

  • [总结]

  • The pre-installed apk with native library can launch correctly only when the native library is aligned and uncompressed.