前提背景,Android 系统定制一般需要提前将APP的so提供给系统定制团队,然后集成到系统的arm-v7等相关目录中,但是在开发Android12的系统中遇到一个问题,就是google的cts测试要求so不能压缩,否则CTS不过! 部分的定制ROM不压缩的so,集成的时候不能走释放so的逻辑,在多CPU目录找不到so,所以我们怀疑这是一个集成失误。但是其实不是这个原因。参加如下:
- Android 11后 关于native库的配置参考:developer.android.google.cn/studio/rele…
- **android:extractNativeLibs="false"**的Apk内native so不压缩,so不释放也能够被其他应用访问
-
We can check its compression through the following command:
-
"
-
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.