您的位置:首页 > 移动开发 > Android开发

android studio ndk 环境搭建

2016-07-08 07:15 302 查看
今天花了8个小时,终于把这该死的环境搭好了。现在记录一下。

最后面会给出整个项目。

首先放上抄袭链接:先感谢这位大神

http://yanbober.github.io/2015/02/14/android_studio_jni_1/

注意:建议大家完全模仿这位大神的写法,包括包名什么的,这样有错误也可以及时发现。

我的环境是:

Android Studio 1.5 for windows

android-ndk-r12-beta1

JDK 1.8.0_40

基本抄袭那位大神的,再加上自己的一些修改

第一步



第二步



第三步,Make project(Ctrl + F9),


这样就会生成.class文件,

第四步 我们要用刚刚生成的class文件,利用javah 生成jni对应的 .h头文件

D:\AndroidStudioProjects\Jni03>cd app\build\intermediates\classes\debug

D:\AndroidStudioProjects\Jni03\app\build\intermediates\classes\debug>javah -jni io.github.yanbober.ndkapplication.NdkJniUtils



这样就生成了.h文件



第五步,生成后的.h文件的内容如下:



第六步,在src 的main目录下,建一个jni文件夹,可以通过 鼠标右击main->new->Folder -> JNI Folder 生成,然后把刚刚弄好的.h文件剪切过来



第七步,在这个jni文件夹中 新建一个 c文件,取名为jnitest.c:



注意(一定要注意这两种写法,我刚刚就在cpp文件里面写了c的代码,结果死活不知道原因,还是查了写网上这位大哥的提示才知道的:http://hepeng421.blog.163.com/blog/static/11948517201402344215411/):

1、使用c++来写代码,文件名就必须【cpp】后缀:

返回结果:return env->NewStringUTF((char *)”Hello from JNI !”);//C++用这种格式

2、使用c来写代码,文件名就必须【c】后缀:

返回结果:return (*env)->NewStringUTF(env, “Hello from JNI !”);//如果是用C语言格式就用这种方式

第八步:



第九步:



第十步:也是那个大神没有写的,但是我的电脑出现了这个问题。

android.useDeprecatedNdk=true



完成了这些操作,我就可以跑这个获取到c文件中的数据了。。哈哈!!



最后说一句,不知道是不是 某度 有毒还是怎么回事,找了七个小时的资料,死活找不到 可以运行的。。 还是 Google 了一下,然后就找到了那位大神写得文章,然后经过一番操作就运行成功了。。

Demo链接:http://download.csdn.net/detail/chang_1134/9570206
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息