【问题标题】:Use created .so file in another application - Android NDK在另一个应用程序中使用创建的 .so 文件 - Android NDK
【发布时间】:2012-05-25 07:51:34
【问题描述】:

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

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

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

【问题讨论】:

标签: android android-ndk


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多