我有一个JNI库,由Android应用程序和NDK一起使用。 我没有源代码,只为某些arch编译了.so文件。
我想在64位x86 linux PC上的简单控制台Java应用程序中调用此库中的函数。
我做了什么:
System.loadLibrary
liblog.so: cannot open shared object file: No such file or directory
。libstdc++.so: cannot open shared object file: No such file or directory
/usr/lib/x86_64-linux-gnu/libc.so: invalid ELF header
。undefined symbol: __stack_chk_guard
评论获得了我的库的UnsatisfiedLinkError。看起来我的图书馆强烈收紧了Android的东西如果没有特定于Android的程序,我应该怎么做才能在普通程序中使用这个库?
答案 0 :(得分:5)
简而言之 - Android和桌面Linux二进制文件不兼容,即使它们的目标是相同的CPU架构。