一次无意的排查crash 的过程中,发现应用崩溃时,各种so在虚拟内存中的映射都是apk的路径,顿时觉得很奇怪,百般查证,最终发现是android:extractNativeLibs的影响。
于是百度了一下,发现相关文章还挺多:
问题来了:
- 此属性的具体作用是什么?
- 设置前后会产生什么影响?(可以从安装、以及运行时两个角度考虑。)
更多问答 >>
-
每日一问 | Android 默认开启硬件加速与设置hardwareAccelerated是一回事吗?
2023-05-24 17:30 -
每日一问 | Android 模块化依赖中的资源冲突该如何规避?
2023-05-24 17:30 -
每日一问 | targetSdkVersion 有什么神奇的魔力?
2023-05-24 17:30 -
每日一问 | Java线程栈的栈溢出(StackOverflowError)是如何检测的?
2024-02-19 18:30 -
2024-06-17 09:16
-
每日一问 | App在运行状态,可以动态安装apk,并且不重新启动吗?
2022-11-20 12:46 -
2022-11-08 21:50
-
2022-11-08 21:50
-
大家提问 Android中前后台切换监听,如果涉及到多进程如何完美的解决?
2022-12-04 22:50 -
每日一问 View.post 又来了与View.postOnAnimation 有什么区别?
2022-07-03 10:47
1.设置了这个属性之后apk里so的文件变小了
2.说其中一个,我在将设置了 useLegacyPackaging = true 的apk内置到系统下经过PRESIGNED编译之后发现生成的apk和原apk的md5不一样了,Android11无法内置了。设置为true时,在编译时将会对so进行压缩。官方建议关闭这个选项,以未压缩的形式打包原生库,因为这会减小应用安装大小,缩减应用下载大小,并缩短用户的应用加载时间。如需要开启,在新版本的as中,可以可以将以下这段代码添加到 build.gradle 文件中:
附上链接:
https://developer.android.com/studio/releases/gradle-plugin?buildsystem=ndk-build#extractNativeLibshttps://developer.android.com/studio/releases/gradle-plugin?buildsystem=ndk-build#compress-native-libs-dsl
对这个我还有个问题想请教各位大佬,我们的应用在GooglePlay上出现了一些动态库链接不到的问题java.lang.UnsatisfiedLinkError,猜测是AAB包分包时只分发了base.apk。Google了好久网上有一种说法android:extractNativeLibs=true可以解决此问题,我还没这么做,不知道这样做是否真的可以解决此问题?
我也遇到该问题了,使用android:extractNativeLibs=true确实能解决。具体原因不明
好的,谢谢大佬