为什么系统APK和/ system / lib /中都有本机共享库的副本?

时间:2015-11-03 22:58:42

标签: android-source

当我查看目录/system/lib/时,我看到了libbluetooth_jni.so,我在/system/app/中的Bluetooth.apk中也看到了同一个文件。似乎是不必要的重复。为什么它包含在两个地方?代码运行时应用程序实际使用了哪一个?

1 个答案:

答案 0 :(得分:0)

如果您的应用程序位于system / app中,它将使用system / lib中的库。 如果您安装了apk,那么安装程序会将apk放入/ data / app并将库解压缩到将用于此应用程序的数据中的特殊位置。

这样做有一些逻辑,因为如果你将它作为系统或数据应用程序放置,编译器就不会事先知道。所以在任何情况下它都会将lib放入apk。

顺便说一句。如果没有系统中的lib,系统/应用程序中的Apk将崩溃。