NDK 编辑C/C++ SO库

2016-12-02 12:52:19来源:网络收集作者:程序猿人点击

以下是我在window环境下编译SO库文件,以下过程亲测有效,在此做个笔记,以备后查!

1.配置NDK的开发环境


1).下载NDK,放到指定的目录下面
2).Preferences -> Andriod -> NDK -> NDK location 点击按钮【Browse...】 放置NDK的路径 ->OK2.新建NDK开发工程
1).new -> New Android Application
Minimun Required SDK:API 8
Target SDK:API 8
Compile Whit:API 8
Theme:None
然后一直 next 直到 finish
2).添加NDK支持:右键项目 -> Android Tools -> Add Native Support ->SO库名 ->finish 自动创建jni目录
3).#include 找不到这个头文件解决办法:
右键项目 -> Properties -> C/C++ General ->Paths and Symbols -> Includes选项卡 -> Add ->File system... ->选择目录
andriod-ndk-r8d/platforms/android-8/arch-arm/usr/include
同时勾选上:"Add to all configuration"和"Add to all languages" -> OK3.编译C语言
1).右键项目下面/src/包名 -> New -> Class ->输入类名 -> finish
2).打开 新建的类的java文件 新建c函数 例如:public native int add( int arg1 , int arg2 );
3).找到当前工程的目录:右键工程名->Properties->Resource->Location
编译C代码:cmd->切换到工程目录下面(cd /d 目录名) -> 进入目录 bin/classes ->
输入命令 :javah -d ../../jni -jni 包名加类名(例如:com.myndk.ndktest.HelloC)->回车
4).Refresh 工程目录下面的 jni 文件夹就会出现 编译好的头文件
5).在.cpp文件中添加包含 编译好的头文件 #include"头文件" ,把头文件中的声明函数进行编辑 不要拷贝NIEXPORT 这个关键词
6).在新建类.java中添加静态模块来加载生成的so库 例如:static{System.loadLibrary("库名");}4. 1).把ndk开发包发入到环境变量中
右键-我的电脑-高级-环境变量-系统变量-新建-Path:D:/adt-bundle/android-ndk-r8d-确定
2). 命令行 - 进入到工程目录 - 输入:ndk-biuld

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台