因为公司项目需要,要进行jni的开发,进行arr,acr音频格式转化,后期上项目代码,现在先上测试代码
其中参考了http://blog.csdn.net/sodino/article/details/41946607的书写,不过有些说的好含蓄,博主摸索了一个小时,现在把详细的细节分享给大家
首先,要去官方下载ndk,因为博主的机子是win7 64位,博主就贴上这个地址,其余的楼主没有查http://dl.google.com/android/ndk/android-ndk32-r10-windows-x86_64.zip
不大,五百兆,不过解压后要1个多g,如下载慢就忍着,不能就翻墙,相信大家都有办法
还有就是建议大家将jdk,jnk,tomcat等这些都放在一个工作硬盘的根目录,这样避免不必要的麻烦,尤其是目录中有汉字,这个很恶心,
记得上次安装gm模拟器就因为路径问题纠结了好长时间,博主有强迫症
再有就是楼主用的Android studio开发的,Eclipse以后再说,紧着项目需要,好,前期工作做完,进入正题
新建一个项目,
然后打开MainActivity,输入相应的代码,利用text进行取jni的数据
博主命名的jni,但是习惯这种window的窗口,所以左边的栏将一些字母抹掉了尾巴,嘿嘿
好了下一步就是建一个与java同级的目录,博主和他们一样命名为了jni
下面开始在terminal窗口下进行操作,这一步是必须的,不要怕麻烦,博主前有狼后有虎,真心是硬着头皮写的
这一块博主走了不少冤枉路,首先要打开你这个程序所在的根目录
cd app/src/main
着重说一下这,楼主用的as 1.0这个app是必须要打上的,不然你肯定进不去,提示你错误
前面那个是绝对路径,这里面可以复制粘贴,后面的是相对路径,不要怕麻烦,可以考,可以敲
D:\AS\jni\app\src\main>javah -d jni -classpath D:\android-sdk\platforms\android-19\android.jar;..\..\build\intermediates\classes\debug cn.edu.sjzc.fanyafeng.jni.MainActivity 楼主把这一段代码复制上,后面的大家可以根据此改成自己相对应的路径
至此一大段宣告完成
这样.h文件就生成了,下面开始.c文件的生成。博主这里生成h文件后并没有生成main.c文件。博主自己建了一个,然后考入了相应的代码
其实,这就是java所要取的一些东西,在这里面写c/c++的一些方法
然后肯定报错,jdk的话Android studio自己会给你配置好的,可是jnk需要进行自己配置,这时就需要打开loca.properties,中文就是本地参数
双斜杠线面不要动,后面的写绝对路径,博主放在了根目录下,省了好多心,嘿嘿
然后你可能认为这就行了,其实不行
开始进行build的构建,肯定会报错,错误信息博主就不穿图片了,因为流程一样,都是报相同的错误信息
下面就是解决方法,博主采用的文首推荐的那个博客的方法,新建一个空的util.c的文件,然后要build成功以后在进行程序的运行,这样,程序就能跑起来了
程序成功运行,博主也就先写到这里了,去上个厕所,嘿嘿