NMM*_*MMA 4 android android-ndk android-ndk-r5
我开始Android应用程序开发并遵循本教程:
http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/ 但应用程序无效.我调试它,日志猫显示此消息:JNI_Onload未找到..我可以解决这个问题吗?
谢谢
JNI_OnLoad函数的主要用途是注册所有本机方法.
这是推荐的,但不是唯一的方法.因此,提供JNI_OnLoad函数是可选的.因为它用于注册所有本机方法,所以它可以在实际使用该方法之前发现java本机方法声明与其C/C++对应项之间的签名不匹配.
您可以改为从静态类初始化程序加载本机库,如下所示:
static {
System.loadLibrary("mylib");
}
Run Code Online (Sandbox Code Playgroud)
这样,您就不必提供JNI_OnLoad函数,并且会自动发现'mylib'中的所有本机方法.唯一的缺点是,在实际调用之前,您不会知道某些本机方法签名是否错误.在这种情况下,您将收到一个"不满意的链接错误",告诉您没有找到您尝试调用的本机方法的实现.
如果您选择此选项(选项2 - 自动发现),调试级别消息将只是一个警告,告诉您已"忘记"提供JNI_OnLoad功能,因此您可以忽略它.
有关更多信息,请查看JNI提示:http:
//developer.android.com/guide/practices/jni.html
| 归档时间: |
|
| 查看次数: |
13238 次 |
| 最近记录: |