为什么我的Android应用程序会查找/data/app/package_name-1/lib/arm/libLibrary.so而不是使用armeabi文件夹

为什么我的Android应用程序会查找/data/app/package_name-1/lib/arm/libLibrary.so而不是使用armeabi文件夹,android,gradle,android-ndk,java-native-interface,ndk-build,Android,Gradle,Android Ndk,Java Native Interface,Ndk Build,当我试图加载一个只为armeabi编译的库时(假设它是所有arm*ABI的后备库),我在logcat中得到了这一点 由于实际限制,我无法在根设备上测试这一点,因此我只知道/data/data/package\u name文件夹有一个符号链接lib->/data/app/package\u name-1/lib/arm 我知道这不是一个特定于设备的问题,因为我以前在同一设备上使用过本机库(使用不同的应用程序,但以前使用相同的体系结构) 有人能帮我吗?对到底发生了什么感到困惑 我使用gradle b

当我试图加载一个只为armeabi编译的库时(假设它是所有arm*ABI的后备库),我在logcat中得到了这一点

由于实际限制,我无法在根设备上测试这一点,因此我只知道
/data/data/package\u name
文件夹有一个符号链接
lib->/data/app/package\u name-1/lib/arm

我知道这不是一个特定于设备的问题,因为我以前在同一设备上使用过本机库(使用不同的应用程序,但以前使用相同的体系结构)

有人能帮我吗?对到底发生了什么感到困惑


我使用gradle build(Android Studio),并且libliblibrary.so在解压时存在于apk中的
lib/armeabi
文件夹中。

这个问题只是部分正确。真正的问题是搬迁类型(我一开始不知道)

重新定位错误通常发生在加载程序和对象文件不理解相同格式时

在本例中,.so文件是用
c++\u static
而不是
gnustl\u static
构建的。Android/NDK提供了大部分的
c++11
功能,但其中一些功能并不是完全可操作的,比如
std::to_string
,这促使我尝试
c++\u static


希望这能帮助那些仍然留有头发的人。

i gues android studio使用jniLib文件夹处理所有文件。@N5.-在提取构建的apk时,我可以在
lib/armeabi
文件夹中找到存在的.so文件,jniLib文件夹是否仍然存在问题?我已经尝试了libs文件夹中的.so文件,但android studio没有找到它…可能将其添加到../main/jinLib/armeabi/.so文件中
    08-14 09:43:51.516    7486-7486/package_name E/art﹕ dlopen("/data/app/package_name-1/lib/arm/libLibrary.so", RTLD_LAZY) failed: dlopen failed: unknown reloc type 160 @ 0xa3725ab4 (82108)