首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Twilio JavaI420Buffer时的UnsatisfiedLinkError (Kotlin)

使用Twilio JavaI420Buffer时的UnsatisfiedLinkError (Kotlin)
EN

Stack Overflow用户
提问于 2021-05-31 17:14:23
回答 1查看 150关注 0票数 2

描述

尝试通过以下调用分配JavaI420Buffer时:

代码语言:javascript
复制
tvi.webrtc.JavaI420Buffer.allocate(width, height)

我得到以下错误:

代码语言:javascript
复制
java.lang.UnsatisfiedLinkError: No implementation found for java.nio.ByteBuffer tvi.webrtc.JniCommon.nativeAllocateByteBuffer(int) (tried Java_tvi_webrtc_JniCommon_nativeAllocateByteBuffer and Java_tvi_webrtc_JniCommon_nativeAllocateByteBuffer__I)
        at tvi.webrtc.JniCommon.nativeAllocateByteBuffer(Native Method)
        at tvi.webrtc.JavaI420Buffer.allocate(JavaI420Buffer.java:87)
        at dji.ux.beta.core.widget.fpv.FPVWidget$onSurfaceTextureAvailable$yuvDataListener$1.onYuvDataReceived(FPVWidget.kt:417)

在这个错误之前,我还得到了:

代码语言:javascript
复制
2021-05-28 08:31:27.367 15131-15131/? I/tvi.webrtc.Logging: NativeLibrary: Loading native library: jingle_peerconnection_so
2021-05-28 08:31:27.367 15131-15131/? I/tvi.webrtc.Logging: NativeLibrary: Loading library: jingle_peerconnection_so
2021-05-28 08:31:27.369 15131-15131/? E/tvi.webrtc.Logging: NativeLibrary: Failed to load native library: jingle_peerconnection_so
2021-05-28 08:31:27.369 15131-15131/? E/tvi.webrtc.Logging: NativeLibrary: java.lang.UnsatisfiedLinkError: dlopen failed: library "libjingle_peerconnection_so.so" not found
2021-05-28 08:31:27.370 15131-15131/? E/tvi.webrtc.Logging: NativeLibrary: java.lang.UnsatisfiedLinkError: dlopen failed: library "libjingle_peerconnection_so.so" not found

奇怪的是,如果我声明使用官方的org.webrtc库(implementation 'org.webrtc:google-webrtc:1.0.32006'),那么分配字节缓冲区的本机调用就会成功。

视频Android SDK版本

com.twilio:video-android-ktx:6.3.0

EN

回答 1

Stack Overflow用户

发布于 2021-06-12 15:25:55

首先,当你在kotlin中加载本机代码时,它应该是这样的:

代码语言:javascript
复制
companion object {
    init {
        System.loadLibrary("jingle_peerconnection")
    }
}

Java中的

代码语言:javascript
复制
static {
    System.loadLibrary("jingle_peerconnection")
}

第二,根据您的错误,找不到“library "libjingle_peerconnection_so.so"

”,您必须在"main -> java -> libs“文件夹中添加相关的Android架构文件夹。

代码语言:javascript
复制
Example : main -> java -> libs -> x86 -> .so file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67770944

复制
相关文章

相似问题

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