我注意到,当在 Eclipse 中向项目添加 native 支持时,它会生成一个 jni/libs/文件夹。这个文件夹是什么以及它是如何使用的,因为我在 NDK 文档中找不到它。
来自 NDK 文档,
a copy of your prebuilt shared library will be copied into $PROJECT/obj/local, and another will be copied and stripped into $PROJECT/libs/(abi).
我注意到,当执行 ndk-build
时,这个目录被清除,一些库被放入其中。然而,通常情况下 $Project/jni/libs 中的库与 $Project/libs 不匹配。此外,当我安装应用程序时,似乎未引用 jni/libs。
jni/libs 只是 ndk-build 使用的临时文件夹吗?它是否在任何地方记录,或者这是使用 Eclipse 提供 native 支持的痕迹?
最佳答案
jni/libs 文件夹是从 C/C++ 源代码构建共享库文件的地方。您的 native 代码会被编译,并取决于您在 application.mk 文件中为参数设置的值
APP_ABI: = <all | x86 | armv7a | armeabi-v7 | mips>
相应的 libs.so 文件生成并放置在 jni/libs 文件夹中。这些 lib 文件被 bundle 到您的最终 apk 文件中,并在需要时由您的应用程序引用。这不是临时文件夹,此文件夹中的文件会进入您的最终 apk 文件。
关于android - 什么是 jni/libs 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672750/