博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己生成一个NDK的浅析
阅读量:5342 次
发布时间:2019-06-15

本文共 1615 字,大约阅读时间需要 5 分钟。

     可能在NDK这里,我们花费了比较多的时间去记住一些命令操作。其实,开始的时候,我总是认为干嘛要用NDK呢?不是有SDK吗?结果,到处查看,感觉非要为自己心里的疑问找到一个好的答案才肯罢休!

    虽然没有找到一个让自己很信服的答案,但是知道它是一个可以自己利用C、C++来完成的一个本地API就大概知道这是用来干嘛的了!但是就是数据还是有限制的!但是做到可以自己利用不属于Android的语言来写这个API也不错了哦!

 

开始  ,真的还有点记不太清楚安装以及编译一个自己写的NDK的时候的命令。。。。

后来写多了就会了,但是还是记下来,毕竟好记性不如烂笔头嘛!况且,我也想为我这样的迷茫者能找到帮组自己的这个文档呀!

   

 

上一章让大家知道了如何搭建一个能让NDK运行的环境,现在,我们来看看如何在这个环境中找到我们自己的脚印!

 

  打开Eclipse工具,然后建立一个Android类,然后还记得上一次讲到那个安装NDK的那个文件里面的samples下面的hello-jni吗?如果记得,good,我们将它也导进去,然后看看刚才建立的那个项目与这个项目有区别吗?有,对吧,bingo,别急,我们慢慢来哦,我们先来为项目植入一个.h文件:

打开命令框(window+R键然后敲入cmd):

  先切换到我们Android的工作空间的盘符里面  再dir

再cd到我们新建的那个项目里面的bin目录   再dir

其后,我们在cd到classes下面 dir一下

然后我们再敲入javah命令 

最后再敲入javah -jni 包名.类名

你会看到进入等待状态,没有状态就是最好的状态

然后你就可以进入项目的bin目录下的classes下去查看,就会看到多了一个.h文件,这样就会完成c的调用埋下的伏笔哦!

然后我们可以进入到Eclipse工具里面,到工具栏上面的Window里面将show状态改成导航栏状态,然后在refresh一下,我们就可以在项目中的bin目录下面的classes下面看到那个.h文件了!

 然后我们将这个.h文件拖到那个复制过来的jni的包下,然后,我们再将那个.c文件的前半部分替换成.h文件的名字,这样,他们可就是一套了哦!

现在我们可以进入到项目的类里面去写一个本地方法以及一个静态方法里面写下你的本地目录:

然后我们要进入到jni包下面的那个.mk文本里面去改一些文本,

像这样,将local_MODuLE得到你的loadLibrary的文本,然后将下面的那个得到你的C文件的名字,在这个文本里面,我们就做这些操作!

然后去.C文件里面实现.h文件里面的方法:

像这样,我们就算完成了编辑,但是不要忘了还有最重要的一点,那就是不要忘了在头文件里面引入包

看清楚哦!这里的包名之间的链接一定要把“.”改成“_”符号哦!然后包名与类名之间也用下划线链接!这样就ok啦,但是不要忘了编辑项目,然后再导入生成。

有的人可能就会迷茫,迷茫的是什么呢?就是如何编辑呀,很好。

   我们先把项目复制,然后黏贴到NDK的安装目录下,然后找的samples文件,就把它放到里面,然后我们打开cygwin的命令框,开始编辑  

   cd D:/

   ls

   cd $ANDROID_NDK_ROOT

   ls

   cd samples

  ls

 cd 项目的名字

$ ANDROID_NDK_ROOT/ndk-build

然后待定状态就是ok啦!随后  就可以重新再Eclipse里面new一个项目,将samples里面的那个项目引入进去,然后运行,就ok啦!

这就是我们建立的一个属于自己的NDK哦!

 

 

这里是最近看到的一个关于NDK安装的操作:还挺靠谱的:

http://blog.csdn.net/pengchua/article/details/7582949

  

转载于:https://www.cnblogs.com/Catherine-Brain/p/3574549.html

你可能感兴趣的文章
【转】在Eclipse中安装和使用TFS插件
查看>>
回到顶部浮窗设计
查看>>
C#中Monitor和Lock以及区别
查看>>
【NOIP2017】奶酪
查看>>
$ 一步一步学Matlab(3)——Matlab中的数据类型
查看>>
5.6.3.7 localeCompare() 方法
查看>>
Linux下好用的简单实用命令
查看>>
常用web字体的使用指南
查看>>
描绘应用程序级的信息
查看>>
poj2406-Power Strings
查看>>
2018/12/18 JS会像Linux一样改变编程
查看>>
php环境搭建脚本
查看>>
FTP主动模式与被动模式说明
查看>>
php 编译常见错误
查看>>
MES架构
查看>>
【Python3 爬虫】15_Fiddler抓包分析
查看>>
高性能JavaScript-JS脚本加载与执行对性能的影响
查看>>
关于标签之间因为换行等问题造成的空白间距问题处理
查看>>
hdu 2767(tarjan)
查看>>
sklearn之分类模型混淆矩阵和分类报告
查看>>