世事洞明皆学问,人情练达即文章。这篇文章主要讲述如何在没有Android Studio的情况下编译JNI共享库,并在[关闭]中编译依赖项相关的知识,希望能为你提供帮助。
我想创建一个使用libc函数的JNI共享库,而不必依赖android Studio
我能够使用我在android ndk中找到的jni.h头来构建和加载共享库,并导出JNI_OnLoad函数
但是当我使用libc函数时,它会将libc库链接到目标android设备中不存在的路径
【如何在没有Android Studio的情况下编译JNI共享库,并在[关闭]中编译依赖项】libtest.so链接到/lib32/libc.so.6
但在android设备中libc的路径是/system/lib/libc.so
那么如何才能正确地将我的库链接到目标设备中的libc路径,或者如何在我的共享库中打包依赖项
PS:我正在使用ubuntu 18,gcc和一个简单的makefile,谢谢!
答案你应该使用ndk-build
来编译jni源代码。它可以从ant
调用
推荐阅读
- 原生Android应用程序中的SIGSEGV错误
- Android JNI(将cv :: Mat转换为jbyteArray)
- 如何在Android模拟器上显示Mat图像(使用NDK)
- 当SDL_init()时,FFmpeg2.3.3和SDL2-2.0.3的Android Media播放器出错。错误是关于SDL_main.h
- 使用Android Studio调试C ++库
- 如何将http C库正确包含到Android项目中()
- 如何调查随机Android原生函数调用错误()
- 从Android Activity onCreate方法调用QCoreApplication方法
- 如何使用/合并CPP文件到Android项目()