• 自己生成一个NDK的浅析


         可能在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

      

    一切只是为了充实自己!!stay hungry and stay foolish!!
  • 相关阅读:
    layui 获取select下拉选项上自定义的属性
    TP中关联模型的使用
    安卓模仿直播中的闪动(放大缩小)的动画
    Android报错Multiple dex files define Lcom/ta/utdid2/c/a/c
    Date.parse()的坑
    Android应用加固的简单实现方案(二)
    Android应用加固的简单实现方案
    Android中ANR的触发机制-BroadcastReceiver篇
    Android中ANR的触发机制-Service篇
    Application中以标准模式启动Activity报错的原因分析
  • 原文地址:https://www.cnblogs.com/Catherine-Brain/p/3574549.html
Copyright © 2020-2023  润新知