设为首页 加入收藏

TOP

Android 4.0 JNI Hello World 开发图解(二)
2014-11-24 13:24:42 来源: 作者: 【 】 浏览:2
Tags:Android 4.0 JNI Hello World 开发 图解
nClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mGetJni.setText(getJniDatas());
}
});
}

/**
* A native method that is implemented by the
* 'hello-jni' native library, which is packaged
* with this application.
* @return
*/
public native String getJniDatas();

/**
*This is another native method declaration that is *not*
* implemented by 'hello-jni'. This is simply to show that
* you can declare as many native methods in your Java code
* as you want, their implementation is searched in the
* currently loaded native libraries only the first time
* you call them.
*
* Trying to call this function will result in a
* java.lang.UnsatisfiedLinkError exception !
* @return
*/
public native String unimplementedGetJniDatas();

/**
* this is used to load the 'hello-jni' library on application
* startup. The library has already been unpacked into
* /data/data/com.example.HelloJni/lib/libhello-jni.so at
* installation time by the package manager.
*/
static{
System.loadLibrary("hello-jni");
}
}


上面有注释,其native方法为JNI需要调用与执行的方法,


在布局里就添加了一个按钮与一个文本,使用按钮单点后来获得文本显示的字符为JNI所得来的数据,其实这个过程很简单,基本就是NDK里面本身的列子般过来运行一样,等这都完了,先不要急于运行,你需要先把C文件进行编译后才能执行运行APP,在命令行进入其目录的JNI目录,使用ndk-build命令来构建编译:


你会看到:jankey@jankey-ThinkPad-Edge:~/workspace/jni_demo/jni$ ndk-build
Compile thumb : hello-jni <= hello-jni.c
SharedLibrary : libhello-jni.so
Install : libhello-jni.so => libs/armeabi/libhello-jni.so,生成了两个文件目录:


即两个.so为后缀的文件,在这里基本就没什么问题了,这样就建立了C与JAVA通信的一个过程,OK,使用CTRI+F11开始运行其APP:


,先我们可以单击来获取JNI返回回来的数据了:




这就把数据给调出来了,如果你是初学者,你还等什么呢,赶快动手吧,希望这能给在入门里做最给里的参考,谢谢。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在Eclipse中配置NDK自动编译环境b.. 下一篇Linux下C语言之HelloWorld

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: