如何捆绑本机库(.so .jar)以便在新的Eclipse Android项目中重用?

我有一个C库,我制作了一些JNI代码将其导出到
Android世界.我还创建了一个使用我的JNI界面的Android应用程序.

为了使用该库,我在Eclipse App项目中导入了所有* .java和* .h / * .cpp文件(到正确的文件夹中),然后我为NDK创建了* .mk文件.我使用ndk-build编译了库,并使用Eclipse将其加载到目标设备中.该应用程序正常.

现在我想将应用程序与库分开.所以,我编译了包含JNI接口的Java文件的name.jar,然后用c的东西编译了libd.so和ndk-build.然后我将name.jar放入newproject / libs,将libname.so放入newproject / libs / armeabi.考虑我在没有库源代码的情况下创建的应用程序“newproject”(我不想发布源代码,只发布.jar和.so).

结果是应用程序与内存转储崩溃到LogCat.我在静态上下文中使用了System.loadLibrary(“name”).

有人可以帮帮我吗?

最佳答案 我的手术没问题.我发现了问题:我的应用程序正在加载lib并且它正在运行C代码.顺便说一下,在socket()调用的早期发生了崩溃.我必须将INTERNET权限设置为清单文件.

点赞