首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与Android5.0一起使用时的java.lang.UnsatisfiedLinkError

与Android5.0一起使用时的java.lang.UnsatisfiedLinkError
EN

Stack Overflow用户
提问于 2014-12-08 09:34:01
回答 1查看 959关注 0票数 7

我正在构建一个android应用程序。使用Opus编解码器进行编码和解码。我使用的是本地代码,这里是http://www.opus-codec.org/,包装器是这里的https://github.com/jitsi/libjitsi/tree/master/src/native/opus。在Android 4.0+中,我创建了.so文件并运行,一切正常。但是在Android5.0中,当我调用本机方法时,它就崩溃了。以下是坠机的细节:

代码语言:javascript
运行
复制
 java.lang.UnsatisfiedLinkError: No implementation found for long my.package.name.codec.Opus.encoder_create(int, int) (tried Java_my_package_name_codec_Opus_encoder_1create and Java_my_package_name_codec_Opus_encoder_1create__II)

我也找了很多,但找不到根本的原因,没有人有同样的问题。下面是我的mk文件,我认为它很有用。

代码语言:javascript
运行
复制
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

MY_MODULE_DIR       := opus

LOCAL_MODULE        := $(MY_MODULE_DIR)
LOCAL_SRC_FILES     := $(wildcard ( libopus/src/*.c \
    libopus/celt/*.c \
    libopus/celt/arm/*.c \
    libopus/silk/*.c \
    libopus/silk/arm/*.c \
    libopus/include/*.c \
    libopus/silk/fixed/*.c \
    my_package_name_codec_Opus.c ))

LOCAL_C_INCLUDES    := \
    libopus/src \
    libopus/include \
    libopus/silk \
    libopus/silk/fixed \
    libopus/silk/arm \
    libopus/celt \
    libopus/celt/arm \
    libopus \

LOCAL_CFLAGS        := -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
LOCAL_CFLAGS    += -Drestrict='' -D__EMX__ -DOPUS_BUILD -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -O3 -fno-math-errno
LOCAL_CPPFLAGS      := -DBSD=1 
LOCAL_CPPFLAGS          += -ffast-math -O3 -funroll-loops

include $(BUILD_SHARED_LIBRARY)

如果你需要更多的文件,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-03 22:26:17

在自己调试了大量相同的问题之后,启用了checkjni,运行javah以确保我的头与我的java代码匹配,并使用饼进行编译--我最终发现了这个问题。

Android5.0增加了opus支持。这意味着系统已经附带了一个libopus.so文件。运行加载库时,加载的不是编译版本,而是与Android捆绑在一起的libopus.so。

只需将库名更改为libmyopus.so,就可以解决问题。MY_MODULE_DIR := myopus,当然也会更新您的System.loadlibrary调用。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27355052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档