java.lang.UnsatisfiedLinkError - Ant没有将OpenTok jar构建到APK中

时间:2014-06-05 07:52:29

标签: android ant teamcity opentok

遇到问题OpenTok library

我按照他们页面上的说明操作,并按照说明将.jar文件和.so文件放在libs文件夹中。

现在我为我的项目设置了一些奇怪的设置。

我们有一个使用库的应用程序。该库基本上具有其中的所有功能,包括其他.jar文件,它们工作正常,因为两个应用程序使用的库稍有不同。该库是包含OpenJok的.jar和.so的地方。

现在,当我在Eclipse上运行此设置时,一切正常。但是当我在Ant生成的构建上运行它时,它将成功构建,但是当我尝试访问该功能时,我收到以下错误。

E/AndroidRuntime( 4219): java.lang.UnsatisfiedLinkError: Couldn't load opentok from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.sps.smc.SMC-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.sps.smc.SMC-1, /vendor/lib, /system/lib]]]: findLibrary returned null
E/AndroidRuntime( 4219):        at java.lang.Runtime.loadLibrary(Runtime.java:358)
E/AndroidRuntime( 4219):        at java.lang.System.loadLibrary(System.java:526)
E/AndroidRuntime( 4219):        at com.opentok.android.Session.<clinit>(Session.java:51)

我假设这可能与.jar和.so有关,使用Ant在处理方面遇到一些麻烦的本机功能。

我已经尝试将.jar和.so放入最终使用库的应用程序中,但这似乎也不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这听起来像是一个Java问题。确保eclipse使用与您的ant构建版本相同的Java版本。例如,export JAVA_HOME=/usr/lib/jvm/jdk1.7

答案 1 :(得分:0)

在libs目录中,将目录名称:armeabi更改为armeabi_v7a。它对我有用。