Android Service类中调用NDK编译的库的问题

Softwaring 2015-04-18 03:27:36
现碰到的问题如下:
在Java层写了一个类代码如下:

public class MeiaPush {
public native int meia_push_init ();
public native int meia_push_set_client_info (String cid, String pwd, String type, String token);
public native int meia_push_get_alarmlist (Object param, int count);
public native int meia_push_exit ();

public int MeiaPushInit ()
{
Log.e ("Yan", "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
meia_push_init ();
return meia_push_set_client_info ("00000000001", "123456", "android", "yan_yan");
}
}

JNI层也实现了。
在其它类中调用MeiaPushInit 这个函数没有问题,
但是在Service类中调用就会出现“java.lang.unsatisfiedlinkerror native method not found”
请问 为什么会出现这个问题, 如何解决。 Service类中和其它类调用JNI函数有什么区别么?
谢谢!
...全文
302 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Softwaring 2015-04-20
  • 打赏
  • 举报
回复
现在问题已解决。 要结帖了, 回复有分哟! 解决方式如下: 需要在Service类中加载一下库。 static{ System.loadLibrary("MeiaPush "); } 只在非Service类中加载是不行的。
  • 打赏
  • 举报
回复
顶你,这个是正解

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧