2012-06-10 64 views
5

我应该创建一个易于使用的SDK,所以我需要它在一个jar文件中。资源有问题,但包括NDK创建的库(通常放在“libs/armeabi”文件夹中)的“.so”文件又如何?用“so”文件创建一个SDK(单个jar文件)

是否可以将“.so”文件添加到jar文件中,以便使用SDK的jar文件的用户不需要将其添加到他的项目中的libs文件夹中?

如果是这样,如何,如果没有,是否有任何解决方法?

澄清:使用SDK的人应该只使用一个jar文件,该文件将包含使用SDK所需的全部内容,包括“.so”文件。

请注意,如果我将libs文件夹(和其中的“.so”文件)放入使用SDK的项目中,它工作得很好。如果我将SDK项目用作Android项目,情况也是如此。

回答

3

其实AndroidADT 17已经来了。事实上,当您创建一个library project并将其导入到另一个项目中时,Android会创建一个jar file。对于native library也是如此。当您构建项目库时很简单,armeabi文件夹也将包含在jar中。

+0

那么这正是我所做的。我正在使用一个Android库,并打算只给自动创建的jar。然而,尽管“.so”文件在里面,但它给了我这个例外。当我将libs文件夹设置为构建路径 –

+0

中的源代码时,会发生这种情况。在通过构建路径将libs文件夹作为源文件夹后,我得到了一个不同的错误,这次是编译时间:“库'Library.jar'包含不会在设备上运行的本地库。 –

+0

我不明白。他们说那是不可能的,不是? –