- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
您好,我正在开发使用 Vitamio 播放实时音频流的 android 应用程序。当我第一次在 Sony Experia J(android 4.1.2) 中安装应用程序时,它崩溃了。但是当我再次打开它时,它开始播放了。因此,每当我第一次安装该应用程序时, radio 都会在该设备中崩溃。以下是崩溃日志:
java.lang.UnsatisfiedLinkError: Native method not found:
io.vov.vitamio.MediaPlayer.native_init:()V
at io.vov.vitamio.MediaPlayer.native_init(Native Method)
at io.vov.vitamio.MediaPlayer.<init>(MediaPlayer.java:238)
at io.vov.vitamio.MediaPlayer.<init>(MediaPlayer.java:192)
在这一行发生崩溃:
mMediaPlayer = new MediaPlayer(this);
但是当我调试应用程序时没有遇到此崩溃。所以没有得到这次崩溃的确切原因。
我知道当找不到库时会发生此崩溃。但是,当我再次启动该应用程序时,它可以正常播放。只有当我安装新版本时,应用程序才会因上述异常而崩溃。
有谁知道,为什么会这样......?
最佳答案
关于在调试时无法捕捉到这一点,那是因为在调试时,它比不捕捉要慢。因此,一个简单而肮脏的修复方法就是设置延迟。
根本原因是:在调用 native 方法时,库应该已经加载(通过 System.loadLibrary())。
所以我最好的猜测是 MediaPlayer.native_init 在第一次实际加载之前被调用。
解决方案:检查加载.so库的位置,并在加载后启动MediaPlayer。
关于android - Vitamio:UnsatisfiedLinkError,找不到 native 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499369/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!