Android中JNI开发环境:
大概分4个步骤:
1. 安装Cygwin,在线安装,安装过程略(注意:安装时除了常用的工具外不要忘了安装make和gcc);
2. 下载NDK,下载完后直接解压即可;
3. 配置环境-->这个很简单。
找到Cygwin目录下,打开home/用户/.bash_profile文件,添加"NDK=/cygdrive/<你的盘符>/<android ndk 目录>", 例如:
NDK=/cygdrive/e/android-ndk-r5
export NDK
例如: cd $NDK -进入NDK的根目录
cd samples/hello-jni/ -进入hello-jni项目的目录
$NDK/ndk-build -编译项目
然后找到这个项目目录,发现会生成一个libs目录就是编译后的结果。打开它,如果有libhello-jni.so这个文件就正常了
注意:在这几个步骤中可能会遇到一些错误,我遇到的说一下。
1.在编译过程中提示:
ERROR: You are using a non-Cygwin compatible Make program.
这个是说你用的make工具不是cygwin的,后来发现原来,我的环境里配置了WinGW,暂时的删除后未提示了。
2. 在编译过程中提示:
can't open file /cygdrive/d/android-ndk-k/check-awk.awk
source line number 1 source file /cygdrive/d/android-ndk-r7/build/awk/check-awk.awk
context is
>>> <<<
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Naw
/cygdrive/d/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. 。 停止
这个在网上看到说:找到“\NDK目录\prebuilt\windows\bin\awk.exe”,把awk.exe删除或改名,之后编译通过。
3.在编译过程中提示:
Cannot find 'make' program. Please install Cygwin make package or define the....
这个是说Cygwin没有安装make工具,我采用的是再次 在线安装 一遍Cygwin,选择相同的安装目录,重新勾上make工具,不会删除以前安装过的其它工具。
大概分4个步骤:
1. 安装Cygwin,在线安装,安装过程略(注意:安装时除了常用的工具外不要忘了安装make和gcc);
2. 下载NDK,下载完后直接解压即可;
3. 配置环境-->这个很简单。
找到Cygwin目录下,打开home/用户/.bash_profile文件,添加"NDK=/cygdrive/<你的盘符>/<android ndk 目录>", 例如:
NDK=/cygdrive/e/android-ndk-r5
export NDK
4. 现在配置就算是完成了,可以直接通过命令“$NDK/ndk-build”来编译android项目中的c/c++并打成库了,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在 里面。。
例如: cd $NDK -进入NDK的根目录
cd samples/hello-jni/ -进入hello-jni项目的目录
$NDK/ndk-build -编译项目
然后找到这个项目目录,发现会生成一个libs目录就是编译后的结果。打开它,如果有libhello-jni.so这个文件就正常了
注意:在这几个步骤中可能会遇到一些错误,我遇到的说一下。
1.在编译过程中提示:
ERROR: You are using a non-Cygwin compatible Make program.
这个是说你用的make工具不是cygwin的,后来发现原来,我的环境里配置了WinGW,暂时的删除后未提示了。
2. 在编译过程中提示:
can't open file /cygdrive/d/android-ndk-k/check-awk.awk
source line number 1 source file /cygdrive/d/android-ndk-r7/build/awk/check-awk.awk
context is
>>> <<<
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Naw
/cygdrive/d/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. 。 停止
这个在网上看到说:找到“\NDK目录\prebuilt\windows\bin\awk.exe”,把awk.exe删除或改名,之后编译通过。
3.在编译过程中提示:
Cannot find 'make' program. Please install Cygwin make package or define the....
这个是说Cygwin没有安装make工具,我采用的是再次 在线安装 一遍Cygwin,选择相同的安装目录,重新勾上make工具,不会删除以前安装过的其它工具。