标签:
今天看了nate的ndk视频,随手记录一下,方便自己以后好查找。
1. 下载NDK;
2. 解压到自定义的目录下。
3. 配置环境变量,因为需要ndk-build这个命令来构建。
4. 定义一个native方法
5. 新建jni文件夹
6. 生成jni头文件。
命令行下切换到项目的根目录,执行javah命令。
命令的文本是:E:\WorkSpace\eclipse-android\MyNDKDemo>javah -classpath bin/classes;D:\IDE\AndroidSdk\platforms\android-22\android.jar;D:\IDE\AndroidSdk\extras\android\support\
v7\appcompat\libs\android-support-v4.jar;D:\IDE\AndroidSdk\extras\android\suppor
t\v7\appcompat\libs\android-support-v7-appcompat.jar -d jni com.example.myndkdem
o.MainActivity
注:红色部分为sdk中的Android包,按自己的情况指定即可。绿色包名加类名。
执行成功之后,会生成头文件。
从NDK的sample中任意一个项目jni目录下拷贝一个android.mk文件到自己项目的jni中。
7. 编写C文件
在C文件中实现头文件的函数。
先将头文件include。
8. 在java文件中调用C函数。
需要将加载lib的方法放在static代码块中,library的名字就是在android.mk文件中指定的名字。
9. 使用ndk-build命令编译
成功后会在libs下面生成对应的so文件。
操作顺序就是这样。
因为以上很多的操作都需要命令,所以可以再eclipse中进行配置,省得每次都要执行命令行。
Run->external tools-> external tools configuration
通过上面两个配置,可以省去很多命令。
右击给project add native library,然后右击项目的属性,在C++选项出添加NDK目录下,android-ndk-r9d\platforms\android-19\arch-arm\usr\include,将include包含进去。
标签:
原文地址:http://www.cnblogs.com/steveyan/p/4639183.html