Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载32位JNI库(LG Flex2上)时,64位Android上出现不满意的链接错误_Android_Java Native Interface_32bit 64bit_Native Code - Fatal编程技术网

加载32位JNI库(LG Flex2上)时,64位Android上出现不满意的链接错误

加载32位JNI库(LG Flex2上)时,64位Android上出现不满意的链接错误,android,java-native-interface,32bit-64bit,native-code,Android,Java Native Interface,32bit 64bit,Native Code,我编写了一个Android应用程序,调用32位JNI库。 在Galaxy Note 4(32位,Snapdragon 805)上,一切正常,在LG Flex2(64位,Snapdragon 810)上,应用程序仅在将参数--abi armeabi-v7a“传递给ADB(显然)时工作 但是,当手动安装jar文件时,Android假定它是一个64位应用程序,这会导致下面列出的不满意链接错误 这是我检查/尝试过的: -整个APK中没有64位库 -APK(lib/armeabi-v7a)中只有一个特定于

我编写了一个Android应用程序,调用32位JNI库。 在Galaxy Note 4(32位,Snapdragon 805)上,一切正常,在LG Flex2(64位,Snapdragon 810)上,应用程序仅在将参数--abi armeabi-v7a“传递给ADB(显然)时工作

但是,当手动安装jar文件时,Android假定它是一个64位应用程序,这会导致下面列出的不满意链接错误

这是我检查/尝试过的: -整个APK中没有64位库 -APK(lib/armeabi-v7a)中只有一个特定于arch的目录
-本机库是使用“LOCAL_MULTILIB:=32”构建的

知道Android为什么坚持以64位模式运行这个应用程序吗? 据我所知,当Android在安装过程中遇到32位本机共享库时,它应该自动检测遗留的32位应用程序

事先谢谢你,克莱门斯

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/at.ac.ait.modentity-2/base.apk"],nativeLibraryDirectories=[/data/app/at.ac.ait.modentity-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "liblept.so"
java.lang.Runtime.loadLibrary(Runtime.java:366)

PS:请不要建议部署64位libs,我希望应用程序在32位模式下执行。

问题是,对于许多不同的体系结构,本机库(realm,librealm jni.so)中存在依赖关系

因此,安装程序检测到这个单一的64位共享库,并确定应用程序是64位感知/安全的