您好我正在使用Vitamio开发Android应用程序来播放实时音频流。当我第一次在Sony Experia J(android 4.1.2)中安装应用程序时,它崩溃了。但当我再次打开它时,它开始播放。因此,每当我第一次安装应用程序时,收音机都会在此设备中崩溃。以下是崩溃日志:
UIDatePickerMode.Date
在此行发生崩溃:
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)
但是在调试应用程序时没有遇到此崩溃。所以没有得到这次崩溃的确切原因。
我知道当它无法找到库时会发生此崩溃。但是,当我再次启动应用程序时,它会正常播放。只有当我安装新版本时,应用程序才会崩溃。
有谁知道,为什么会发生这种情况..?
答案 0 :(得分:3)
关于在调试时无法捕获这个,这是因为在调试时,它的方式是 SLOWER ,而不是。因此,简单而肮脏的修复只会造成延迟。
根本原因是:在调用本机方法时,库应该已经加载(通过System.loadLibrary())。
所以我最好的猜测是MediaPlayer.native_init在第一次进行实际加载之前被调用。
解决方案:checkout加载.so库的位置,并在加载后启动MediaPlayer。
答案 1 :(得分:1)
如果您使用致电
Vitamio.isInitialized(this);
MyApplication extend Application
中初始化****的路径。所以
我希望此提示可以帮助您解决问题