0

我使用了 android - ndk - r8 并按照LINK创建了一个 .so 库。现在我的目标是在另一个项目中使用这个库。我不想在那里复制完整的源代码,而是只想使用该库。我试图将整个 libs/armeabi/libAddition.so 库复制并粘贴到另一个应用程序的项目根目录,但是当我在其他应用程序中使用这些库时,应用程序崩溃了。该库由两个数字逻辑的简单添加组成。

注意它们在应用程序或 .so 文件中没有错误,并且错误日志中的错误是 unsatisfiedlinkerror。此外,我不想创建库项目或其他任何我只需要在我的另一个项目中使用这些 .so 文件的东西。

那么最好的方法是什么?我正在使用 Eclipse。

4

2 回答 2

2

您的 .so 有两个部分。有您要使用的实际 C 库,然后有 JNI 胶水代码。我敢打赌,您的应用程序崩溃的原因是因为 JNI 引用了您以前的应用程序中的包名称。如果要创建一个可以反复使用的库,则需要分别创建该库和 JNI。

于 2012-05-17T18:21:21.813 回答
0

这篇文章可能有用。我试过了,它对我有用,但前提是我从相同的包名调用 System.loadLibrary。否则它会抛出一个 UnsatisfiedLinkError 但我没有深入了解什么是错的。

于 2012-05-17T18:36:53.570 回答