- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在手机上运行我的 android 应用程序时意外收到以下错误。基本上在应用程序中,它会调用消息服务,以便我能够运行我的即时消息。我正在使用 Sinch for android 来处理我的即时消息。
下面是日志猫消息:
10-08 00:34:31.550: E/AndroidRuntime(1610): FATAL EXCEPTION: main
10-08 00:34:31.550: E/AndroidRuntime(1610): Process: com.dooba.beta, PID: 1610
10-08 00:34:31.550: E/AndroidRuntime(1610): java.lang.UnsatisfiedLinkError: Couldn't load sinch-android-rtc from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.dooba.beta-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.dooba.beta-1, /system/lib]]]: findLibrary returned null
10-08 00:34:31.550: E/AndroidRuntime(1610): at java.lang.Runtime.loadLibrary(Runtime.java:358)
10-08 00:34:31.550: E/AndroidRuntime(1610): at java.lang.System.loadLibrary(System.java:526)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.sinch.android.rtc.internal.natives.jni.UserAgentFactory.<clinit>(UserAgentFactory.java:9)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.sinch.android.rtc.internal.client.ServiceFactory.createUserAgent(ServiceFactory.java:44)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.sinch.android.rtc.internal.client.DefaultSinchClient.<init>(DefaultSinchClient.java:155)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.sinch.android.rtc.internal.client.InternalSinchClientFactory.createSinchClient(InternalSinchClientFactory.java:14)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.sinch.android.rtc.DefaultSinchClientBuilder.build(DefaultSinchClientBuilder.java:95)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.dooba.beta.MessageService.startSinchClient(MessageService.java:66)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.dooba.beta.MessageService.onStartCommand(MessageService.java:56)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2702)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.app.ActivityThread.access$2100(ActivityThread.java:135)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.os.Handler.dispatchMessage(Handler.java:102)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.os.Looper.loop(Looper.java:136)
10-08 00:34:31.550: E/AndroidRuntime(1610): at android.app.ActivityThread.main(ActivityThread.java:5017)
10-08 00:34:31.550: E/AndroidRuntime(1610): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 00:34:31.550: E/AndroidRuntime(1610): at java.lang.reflect.Method.invoke(Method.java:515)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
10-08 00:34:31.550: E/AndroidRuntime(1610): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
10-08 00:34:31.550: E/AndroidRuntime(1610): at dalvik.system.NativeStart.main(Native Method)
下面是 MessageService Activity :
public class MessageService extends Service implements SinchClientListener {
private static final String APP_KEY = "xxxxx";
private static final String APP_SECRET = "xxxxx";
private static final String ENVIRONMENT = "sandbox.sinch.com";
private final MessageServiceInterface serviceInterface = new MessageServiceInterface();
private SinchClient sinchClient = null;
private MessageClient messageClient = null;
private String currentUserId;
private LocalBroadcastManager broadcaster;
private Intent broadcastIntent = new Intent("com.dooba.beta.MessagingActivity1");
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
currentUserId = ParseUser.getCurrentUser().getObjectId();
if (currentUserId != null && !isSinchClientStarted()) {
startSinchClient(currentUserId);
}
broadcaster = LocalBroadcastManager.getInstance(this);
return super.onStartCommand(intent, flags, startId);
}
public void startSinchClient(String username) {
sinchClient = Sinch.getSinchClientBuilder().context(this).userId(username).applicationKey(APP_KEY)
.applicationSecret(APP_SECRET).environmentHost(ENVIRONMENT).build();
sinchClient.addSinchClientListener(this);
sinchClient.setSupportMessaging(true);
sinchClient.setSupportActiveConnectionInBackground(true);
sinchClient.checkManifest();
sinchClient.start();
}
private boolean isSinchClientStarted() {
return sinchClient != null && sinchClient.isStarted();
}
@Override
public void onClientFailed(SinchClient client, SinchError error) {
broadcastIntent.putExtra("success", false);
broadcaster.sendBroadcast(broadcastIntent);
sinchClient = null;
}
@Override
public void onClientStarted(SinchClient client) {
broadcastIntent.putExtra("success", true);
broadcaster.sendBroadcast(broadcastIntent);
client.startListeningOnActiveConnection();
messageClient = client.getMessageClient();
}
@Override
public void onClientStopped(SinchClient client) {
sinchClient = null;
}
@Override
public IBinder onBind(Intent intent) {
return serviceInterface;
}
@Override
public void onLogMessage(int level, String area, String message) {
}
@Override
public void onRegistrationCredentialsRequired(SinchClient client, ClientRegistration clientRegistration) {
}
public void sendMessage(String recipientUserId, String textBody) {
if (messageClient != null) {
WritableMessage message = new WritableMessage(recipientUserId, textBody);
messageClient.send(message);
}
}
public void addMessageClientListener(MessageClientListener listener) {
if (messageClient != null) {
messageClient.addMessageClientListener(listener);
}
}
public void removeMessageClientListener(MessageClientListener listener) {
if (messageClient != null) {
messageClient.removeMessageClientListener(listener);
}
}
@Override
public void onDestroy() {
sinchClient.stopListeningOnActiveConnection();
sinchClient.terminate();
}
public class MessageServiceInterface extends Binder {
public void sendMessage(String recipientUserId, String textBody) {
MessageService.this.sendMessage(recipientUserId, textBody);
}
public void addMessageClientListener(MessageClientListener listener) {
MessageService.this.addMessageClientListener(listener);
}
public void removeMessageClientListener(MessageClientListener listener) {
MessageService.this.removeMessageClientListener(listener);
}
public boolean isSinchClientStarted() {
return MessageService.this.isSinchClientStarted();
}
}
}
如有任何帮助,我们将不胜感激。
更新添加库的屏幕
![在此处输入图片描述][3]
更新 3
10-09 18:27:08.450: E/AndroidRuntime(999): FATAL EXCEPTION: main
10-09 18:27:08.450: E/AndroidRuntime(999): java.lang.ExceptionInInitializerError
10-09 18:27:08.450: E/AndroidRuntime(999): at com.sinch.android.rtc.internal.client.ServiceFactory.createUserAgent(ServiceFactory.java:44)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.sinch.android.rtc.internal.client.DefaultSinchClient.<init>(DefaultSinchClient.java:157)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.sinch.android.rtc.internal.client.InternalSinchClientFactory.createSinchClient(InternalSinchClientFactory.java:14)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.sinch.android.rtc.DefaultSinchClientBuilder.build(DefaultSinchClientBuilder.java:95)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.dooba.beta.MessageService.startSinchClient(MessageService.java:56)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.dooba.beta.MessageService.onStartCommand(MessageService.java:40)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2490)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.app.ActivityThread.access$1900(ActivityThread.java:130)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.os.Handler.dispatchMessage(Handler.java:99)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.os.Looper.loop(Looper.java:137)
10-09 18:27:08.450: E/AndroidRuntime(999): at android.app.ActivityThread.main(ActivityThread.java:4745)
10-09 18:27:08.450: E/AndroidRuntime(999): at java.lang.reflect.Method.invokeNative(Native Method)
10-09 18:27:08.450: E/AndroidRuntime(999): at java.lang.reflect.Method.invoke(Method.java:511)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-09 18:27:08.450: E/AndroidRuntime(999): at dalvik.system.NativeStart.main(Native Method)
10-09 18:27:08.450: E/AndroidRuntime(999): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load sinch-android-rtc: findLibrary returned null
10-09 18:27:08.450: E/AndroidRuntime(999): at java.lang.Runtime.loadLibrary(Runtime.java:365)
10-09 18:27:08.450: E/AndroidRuntime(999): at java.lang.System.loadLibrary(System.java:535)
10-09 18:27:08.450: E/AndroidRuntime(999): at com.sinch.android.rtc.internal.natives.jni.UserAgentFactory.<clinit>(UserAgentFactory.java:9)
[3]: http://i.stack.imgur.co
m/5Kx3e.png
最佳答案
您需要将 sinch 库复制到您的项目中,请参阅 sinch client for android documentation
下载the sinch android sdk zip , 将libs
文件夹中的内容复制到项目根目录下的libs
中。
清理并重建项目。在测试 apk 之前,以 zip 格式打开 apk 并确保 .so 文件位于 lib\*\
文件夹中;
如果您在使用 Eclipse 正确打包应用程序时遇到问题,please consider using sinch's documentation and use android studio as they suggest
关于java - UnsatisfiedLinkError : Couldn't load sinch-android-rtc from loader dalvik. 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26247986/
这里的 IT 网络/编程学生试图完成一项作业,但我遇到了障碍。我们的任务是读取文本文件,将单词放入 ArrayList 中,并对内容执行字符串操作。我能够将单词拉入 ArrayList、按升序对内容进
编辑:我收到以下错误代码: Error adding accessory The operation couldn’t be completed. (HMErrorDomain error 2.) 和
您好,我正在尝试测试套接字激活机制,但无法连接到服务器。 curl --unix-socket/run/gunicorn.sock本地主机 curl: (7) Couldn't connect to
所以我安装了sandbox (运行 centOS)来自 hortonworks在 virtualBox带网络配置>>> bridged network我编辑了bashrc导出http_proxy和 h
我目前正在开发一个android应用程序,提交一个post请求并处理相应的响应。 我能够将发布请求发送到相应的 URL,但是当我尝试检索响应时,我得到了一半的 HTML 内容,然后是“*无法从 STD
我在将 ServiceLoader 集成到我的 Android 应用程序以集成插件系统时遇到问题。 public class StrategieClassLoader extends URLClass
我有一个类似于以下的自定义数据类型: data Token = Number Int | Otherthings 我希望能够以一种方式使用“数字”,以另一种方式使用其他东西。所以
当我尝试从 Visual Studio Code 运行一个简单的 React Native 应用程序时,我收到以下错误消息。 Scanning folders for symlinks in C:\P
我最近从Java搬到了Kotlin。将整个项目转换为Kotlin,将pom.xml转换为build.gradle。我正在使用Kotlin,Gradle,Cucumber Sernity,Appium构
我在执行docker-compose命令时遇到Powershell中的错误: 尽管从Docker Quickstart Terminal运行相同的命令可以正常工作: 最佳答案 确保首先在Powersh
当我运行docker build时,我得到了: Sending build context to Docker daemon 10.24kB WARN[11935] Couldn't run aup
我在运行 SDL 程序时遇到此错误。它编译得很好,但是窗口打开了一小会儿然后就关闭了。 这是我的代码: //Using SDL and standard IO #include #include
我正在编写一个基于 Google map 的 Android 应用程序。应用程序本身运行良好,没有任何问题。我可以看到 map ,缩放到我的当前位置等等。根据 AndroidManifest.xml,
我在实际设备上仅在生产和开发容器上都遇到了这个错误。模拟器能够很好地获取记录。这发生在通过 XCode 运行的开发构建、TestFlight 构建和 AppStore 上的实时生产构建上。 所有设备
我正在创建一个模板化的快速排序函数,它应该允许我使用迭代器对一个定制的双向链表类进行快速排序。我遇到了错误 In file included from main.cpp:21.0: quicksort
我有一个模板类和一个具有模板返回类型的函数: template class Wrapper { public: Wrapper(const T& _data) : data(_data) {
将 Jersey 从 1.15 版升级到 1.17 版后,它开始记录以下消息: Apr 2, 2013 5:13:06 PM com.sun.jersey.server.wadl.generators
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我有一个 android 应用程序在我将设备更新到 android 4.4 (kitkat) 之前一直运行没有问题。 现在我开始收到这个错误,并且程序的某些部分在日志 cat_ 中被破坏了_ Andr
我通过 git clone 成功安装了 Directus CMS。在数据库中创建了 15 个表。在/config 文件夹中,我的 projectkey.php 文件也已创建。安装后我想使用我的凭据登录
我是一名优秀的程序员,十分优秀!