Android 我正在尝试在我的应用程序中集成Agora语音呼叫,但得到java.lang.UnsatisfiedLinkError

Android 我正在尝试在我的应用程序中集成Agora语音呼叫,但得到java.lang.UnsatisfiedLinkError,android,java-native-interface,agora.io,Android,Java Native Interface,Agora.io,我在以下行中得到错误: AgoraAPIOnlySignal m_agoraAPI = AgoraAPIOnlySignal.getInstance(this, appID); 再次申请。有人能告诉我哪里出了问题吗 以防需要堆栈跟踪 java.lang.UnsatisfiedLinkError: No implementation found for void io.agora.NativeAgoraAPI.jniInitGet() (tried Java_io_agora_NativeAg

我在以下行中得到错误:

AgoraAPIOnlySignal m_agoraAPI = AgoraAPIOnlySignal.getInstance(this, appID);
再次申请。有人能告诉我哪里出了问题吗

以防需要堆栈跟踪

 java.lang.UnsatisfiedLinkError: No implementation found for void io.agora.NativeAgoraAPI.jniInitGet() (tried Java_io_agora_NativeAgoraAPI_jniInitGet and Java_io_agora_NativeAgoraAPI_jniInitGet__)
    at io.agora.NativeAgoraAPI.jniInitGet(Native Method)
    at io.agora.AgoraAPIOnlySignal.getInstance(AgoraAPIOnlySignal.java:60)
    at live.smartify.community.smartliving.security.application.AGApplication.setupAgoraEngine(AGApplication.java:82)
    at live.smartify.community.smartliving.security.application.AGApplication.onCreate(AGApplication.java:67)

Agora信令SDK是一个单独的SDK,它没有与Agora的本机SDK捆绑在一起,因此您必须从本机SDK中单独下载并链接/添加到您的项目中

Agora信令SDK已被弃用,您应该使用,它具有信令SDK的所有功能以及一些新功能

确保下载SDK并将其链接到项目中。在项目中安装SDK后,可以使用以下方法初始化:

public void init() {
    try {
        mRtmClient = RtmClient.createInstance(mContext, APPID, new RtmClientListener() {
            @Override
            public void onConnectionStateChanged(int state, int reason) {
                Log.d(TAG, "Connection state changes to " + state + " reason: " + reason);
            }

            @Override
            public void onMessageReceived(RtmMessage rtmMessage, String peerId) {
                String msg = rtmMessage.getText();
                Log.d(TAG, "Message received " + " from " + peerId + msg);
            }
        });
    } catch (Exception e) {
        Log.d(TAG, "RTM SDK initialization fatal error!");
        throw new RuntimeException("You need to check the RTM initialization process.");
    }
}

请参阅完整的Android RTM SDK快速启动指南:

Agora信令SDK是一个单独的SDK,没有与Agora的本机SDK捆绑在一起,因此您必须单独从本机SDK下载并链接/添加到您的项目中

Agora信令SDK已被弃用,您应该使用,它具有信令SDK的所有功能以及一些新功能

确保下载SDK并将其链接到项目中。在项目中安装SDK后,可以使用以下方法初始化:

public void init() {
    try {
        mRtmClient = RtmClient.createInstance(mContext, APPID, new RtmClientListener() {
            @Override
            public void onConnectionStateChanged(int state, int reason) {
                Log.d(TAG, "Connection state changes to " + state + " reason: " + reason);
            }

            @Override
            public void onMessageReceived(RtmMessage rtmMessage, String peerId) {
                String msg = rtmMessage.getText();
                Log.d(TAG, "Message received " + " from " + peerId + msg);
            }
        });
    } catch (Exception e) {
        Log.d(TAG, "RTM SDK initialization fatal error!");
        throw new RuntimeException("You need to check the RTM initialization process.");
    }
}

请参阅完整的Android RTM SDK快速入门指南:

是否加载了包含此符号的本机库(使用
System.loadLibrary
)?我想,它必须由Agora库本身加载。他们在文档中并没有提到应用程序开发人员应该做什么,其中第4步提到了首先创建RtcEngine。这似乎是加载相应库的代码。是否加载了包含此符号的本机库(使用
System.loadLibrary
)?我想,它必须由Agora库本身加载。他们在文档中并没有提到应用程序开发人员应该做什么,其中第4步提到了首先创建RtcEngine。这看起来像是加载相应库的代码。