如何在没有androidstudio和内部有依赖项的情况下编译JNI共享库

如何在没有androidstudio和内部有依赖项的情况下编译JNI共享库,android,java-native-interface,Android,Java Native Interface,我想创建一个使用libc函数的JNI共享库,而不必依赖于androidstudio 我能够使用在AndroidNDK中找到的jni.h头构建和加载共享库,并导出jni_OnLoad函数 但当我使用libc函数时,它会将libc库链接到一个目标android设备中不存在的路径 libtest.so链接到/lib32/libc.so.6,但在android设备中,libc的路径是/system/lib/libc.so 那么,如何将我的库正确链接到目标设备中的libc路径,或者如何将依赖项打包到共享库

我想创建一个使用libc函数的JNI共享库,而不必依赖于androidstudio

我能够使用在AndroidNDK中找到的jni.h头构建和加载共享库,并导出jni_OnLoad函数

但当我使用libc函数时,它会将libc库链接到一个目标android设备中不存在的路径

libtest.so链接到/lib32/libc.so.6,但在android设备中,libc的路径是/system/lib/libc.so

那么,如何将我的库正确链接到目标设备中的libc路径,或者如何将依赖项打包到共享库中呢


PS:我正在使用Ubuntu18、gcc和一个简单的makefile,谢谢

您应该使用ndk构建来编译jni源代码。它可以从ant调用

我将设置一个Android.mk文件来尝试ndk构建,谢谢如果有人有同样的问题,这里就是我最后做的:我必须制作一个独立的工具链