Android Eclipse NDK开发环境搭建
来源:互联网 发布:淘宝漏洞零元买东西 编辑:程序博客网 时间:2024/05/16 01:06
环境准备
本文描述在windows下使用Eclipse进行NDK开发环境的搭建,后续环境设置均为在windows下有效(linux下设置有差异);
在进行NDK开发之前,需要安装以下软件:
- JDK;
安装JDK以后,设置环境变量:
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_51\ - Eclipse;
- Android SDK( install in SDK manager from Eclipse );
- NDK;
- cygwin compile environment;
- JDK;
native code build
环境变量设置;
设置系统环境变量
ANDROID_NDK = d:\Users\username\AppData\Local\Android\android-ndk-r10e\build sample in NDK;
- 启动cygwin;
- cd到$ANDROID_NDK\samples\hello-jni目录下
- 执行
ndk-build
如果正常compile,并生成libhello-jni.so,说明ndk的环境已经可以正常工作;
ndk build in android app project;
- 创建一个Android APP project,名字为MyProject;
- open MyActivity.java, 声明一个native method:
public class MyActivity extends Activity { public native String getMyData();}
- 使用静态初始化的方式来加载这个native方法的实现library
static { System.loadLibrary( "mylib" );}
在project目录下创建目录
jni
;在jni目录下创建
Android.mk
文件,文件内容如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODLUE := mylibLOCAL_SRC_FILES := com_myproject_MyActivity.cinclude $(BUILD_SHARED_LIBRARY)
手动创建对应的native method的header file和method implementation;
运行cygwin,在project目录下运行
ndk-build
来compile native code;
使用javah生成头文件
上述进行手动创建header file的步骤会比较繁琐,非常容易出错,比较常用的方式是使用javah来辅助header file的创建;
具体步骤如下:
open Run | External Tools | External Tools Configurations
创建一个新的program configuration,名字为
MyProject javah
; 具体设置如下图:- Location是javah所在的目录(安装jdk时,有创建JAVA_HOME,javah在JAVA_HOME\bin目录下;
- Working Directory是声明native method的java file的目录;
- Arguments中,使用
-d
来指定生成header file的目录, org.libsdl.app.SDLActivity是包含native method声明的class name,如果有多个class中都有native method declare,则用空格分隔; - 在
Refresh
tab中,勾选”Refresh resource upon completion”;
配置好以后,click
Run
来生成header file;此时在Project Explorer中,应该可以看到新生成的header file,如果没有,可以使用右键菜单的Refresh试试;
使用IDE进行ndk-build
每次build native code,都需要打开cygwin,在project目录下运行ndk-build
是比较麻烦的,Eclipse中可以执行这样的操作是最方便的,具体方式如下:
convert to a C/C++ project;
- Open Menu File | New | Other;
- Under C/C++, select Convert to a C/C++ project and click Next;
- Check MyProject, choose MakeFile project and Other Toolchain and finish click on Finish;
进行如此convert以后,后续的右键菜单才有C/C++ build的item可以进行设置。
在MyProject上右键菜单,选择Properties;
在C/C++ Build section, uncheck Use default build command and enter
bash ${env_var:ANDROID_NDK}/ndk-build
在C/C++ Settings的Behavior tab下,把Build on resource save进行选中;这样在执行save动作时,就会自动执行
ndk-build
;
这样设置以后,ndk-build已经可以成功了,不过在editor中,还会有部分code因为找不到定义,会有黄色的底线,可以通过引入ndk的包含目录来解决此问题
in project properties, C/C++ Geleral/Paths and Symbols -> Includes;
click “Add…”, enter the path to the directory containing the include file which is located inside NDK’s “platforms” directory, like:
${env_var:ANDROID_NDK}/platforms/android-9/arch-arm/usr/include
also add path
${env_var:ANDROID_NDK}/toolchains/arm-linuxandroideabi-4.4.3/prebuilt/<your OS>/lib/gcc/armlinuxandroideabi/4.4.3/include
添加好include 目录后,code中的黄色底线也消失了。
至此,Eclipse下的NDK开发环境就已经搭建好了。
- Android使用Eclipse搭建NDK开发环境
- Android Eclipse NDK开发环境搭建
- Eclipse下Android NDK开发环境搭建
- sdk+ndk+eclipse搭建android开发环境
- eclipse搭建NDK开发环境
- Eclipse Android NDK环境搭建
- windows下eclipse 搭建android ndk开发环境
- 在eclipse中android NDK开发环境的搭建
- Android ADT自带eclipse搭建NDK开发环境
- eclipse中android NDK开发环境的搭建
- 在eclipse中android NDK开发环境的搭建
- Android之eclipse NDK开发环境的搭建
- NDK开发-简介&环境搭建(Eclipse,Android Studio)
- Eclipse中Android NDK 开发环境的搭建
- Eclipse上进行 Android NDK 开发环境搭建
- Android NDK 开发环境搭建
- Android NDK 开发环境搭建
- Android ndk 开发环境搭建
- ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- 【路由】不同的路由协议
- kettle使用命令行来运行job和transform
- 存储过程不能编译(Library cache pin)问题的解决
- 《Autodesk Revit二次开发基础教程》书籍终于上架了
- Android Eclipse NDK开发环境搭建
- 加密算法介绍及加密算法的选择
- HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
- getsockname的使用
- hdu 3006 The Number of set 状态压缩
- CTS
- openstack中为何要使用消息队列
- ThinkPHP-缓存应用-缓存技术应用
- 自动化用例设计原则