我目前正在开发一个使用一些自己编写的本机代码的java库(绑定)。此本机代码编译为多个体系结构的.so
文件(arm-v7,i686,x86-64等)。
我知道在android中你必须创建一个名为jniLibs
的文件夹,其中包含每个包含正确.so
文件的体系结构的子文件夹。然后使用Android.mk
文件和System.loadLibrary
我可以将这些文件包含在我的代码中。
但是,我不知道如何在普通的java项目/库中包含这些.so
文件。我在网上看到System.loadLibrary
仅适用于查看普通文件(而不一定是项目文件)。
答案 0 :(得分:1)
除了.jar
文件中的代码之外,您不能拥有任何其他内容,但是,您可以拥有.aar
文件中的资源。
Android Archive Library (aar) vs standard jar
您会发现库的.aar
是您库的可再发行/可重用编译版本。
答案 1 :(得分:0)
您可以按SWT
的方式执行此操作 - 将库文件从.jar
文件中提取到用户的主目录(因此您确定可以访问用java代码手动编写。
您可以查看org.eclipse.swt.internal.Library
,方法extract()
。