首页
社区
课程
招聘
[原创]第一个NDK例子
发表于: 2015-1-17 12:38 6027

[原创]第一个NDK例子

2015-1-17 12:38
6027
我是用的adt-bundle-windows-x86-20140702这个ADT 然后NDK版本是   android-ndk32-r10-windows-x86
ADT下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
NDK下载地址:http://dl.google.com/android/ndk/android-ndk32-r10-windows-x86.zip
sdk:http://pan.baidu.com/s/1gdwzldT#path=%252FAndroid-SDK-2014629
SDK无所谓 我用的是 api15
配置就大家自行百度了 很简单的

第一步当然是新建工程
:pass
第二部添加native lib
:右键自己新建的项目
找到android tools->add native lib(差不多是这个意思)
然后会让你选择lib名字 我这里随便写一个demo
然后目录组下就会出现一个jni的目录里面有一个 demo.cpp
还有一个 android.mk mk文件是配置好了的 如果没有特殊要求一般就是修改demo.cpp的内容了
现在到 MainActivity.java 添加native的方法 例如:static public native String fuck (); 意思是  静态调用 公开 然后就是本地实现   返回一个string类型的数据
下面我们再次转到demo.cpp这里  实现以下代码

extern "C"{

JNIEXPORT jstring JNICALL Java_com_fuck_fucksdk_MainActivity_fuck(JNIEnv *env, jobject obj);

}
JNIEXPORT jstring JNICALL Java_com_fuck_fucksdk_MainActivity_fuck
(JNIEnv *env, jobject obj){

jstring jtr;
jtr=env->functions->NewStringUTF(env,"xxxx");
return jtr;
}

再次回到 MainActivity.java  实现
static{
System.loadLibrary("demo");//刚刚填写的lib名字 这里必须实现加载这个Lib

}
好了  在到onCreate方法中实现 Toast.makeText(this, fuck(), Toast.LENGTH_SHORT).show();
编译 虚拟机运行就会弹出一个内容为xxxx的小黑色框框

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
很基础,支持个
2015-1-17 16:18
0
雪    币: 25
活跃值: (477)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
3
好  就卡入口这里了,不理解CPP文件里要不要那个很长的开头的一段文字,过了这个坎就好些了,打算用安卓汇编做程序,不知道怎么跟JAVA界面连接呢,看到这个明白了。
2015-1-17 19:44
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
有毅力啊。。。。
2015-1-17 21:20
0
雪    币: 25
活跃值: (477)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
5
汇编跟普通程序是一样的
2015-1-17 23:21
0
游客
登录 | 注册 方可回帖
返回
//