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

[原创]第一个NDK例子

2015-1-17 12:38
6084
我是用的adt-bundle-windows-x86-20140702这个ADT 然后NDK版本是   android-ndk32-r10-windows-x86
ADT下载地址:798K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8D9i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8X3q4V1N6q4)9J5c8X3q4V1N6q4)9J5k6r3u0#2L8X3c8D9k6g2)9J5k6s2N6A6L8X3c8G2N6%4y4Q4x3X3c8^5z5o6k6Q4x3X3b7J5x3o6p5@1x3o6M7H3x3W2)9J5k6i4A6A6M7l9`.`.
NDK下载地址:3f7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8D9i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8X3&6V1K9#2)9J5c8X3q4F1k6s2u0G2K9h3c8Q4x3X3c8F1k6r3D9K6x3W2)9J5k6s2t1I4x3q4)9J5k6s2N6A6L8X3c8G2N6%4y4Q4x3X3c8^5z5o6k6Q4x3X3g2*7K9i4l9`.
sdk:beaK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8U0q4Y4k6s2N6*7L8r3c8f1i4K6t1K6M7r3q4@1K9q4)9K6c8q4)9J5y4e0t1#2x3V1k6m8L8X3c8J5L8$3W2V1i4K6u0V1f1@1c8w2i4K6u0V1x3U0l9I4y4o6j5J5z5b7`.`.
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的小黑色框框

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 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
游客
登录 | 注册 方可回帖
返回