当我查看目录/system/lib/
时,我看到了libbluetooth_jni.so,我在/system/app/
中的Bluetooth.apk中也看到了同一个文件。似乎是不必要的重复。为什么它包含在两个地方?代码运行时应用程序实际使用了哪一个?
答案 0 :(得分:0)
如果您的应用程序位于system / app中,它将使用system / lib中的库。 如果您安装了apk,那么安装程序会将apk放入/ data / app并将库解压缩到将用于此应用程序的数据中的特殊位置。
这样做有一些逻辑,因为如果你将它作为系统或数据应用程序放置,编译器就不会事先知道。所以在任何情况下它都会将lib放入apk。
顺便说一句。如果没有系统中的lib,系统/应用程序中的Apk将崩溃。