因第一次学习android下的NDK开发,很多基础问题都不懂,所以从最基本的写起
eclipse直接从同事那拷贝过来,说是eclipse C/C++版本
AndroidSdk_r20也是从同事那直接拷贝过来
android-ndk-r8b-windows.zip从官网下载
主要编译NDK中的sample
file->new->project->android->android project from exiting code
next
rootdirectory中选择sample中具体例子
finish
修干工程下的XML文件,将工程改为对应的android SDK版本(工程用的是什么android版,就启用那个版本的虚拟机,例如运行native-audio时,就用android2.3的,否则无法执行)
(图片无法上传。。。。。以下用了别人的图)
当前是Android2.2 。
修改AndroidManifest.xml中android:minSdkVersion为当前。
接下来选中该工程,点击property,修改build配置,如下图:
右键点击工程目录依次Properties->Builders->New 选中Program 并确定。
Name自己指定,Location通过Browse File System 指定,Working Directory通过Browse Workspace指定。
Refresh项若不是针对整个工作空间选择第三个即可。
Build Options 项所选如图。
选中jni即可。
依次Finish->OK->OK
当然得先建虚拟机,才能在AVD上运行。
点击 window->AVD manager ->new选择AVD的版本什么的,注意与程序匹配。
在AVD下成功运行。
以下均是转的别人的,转载地址
http://blog.csdn.net/strliu/article/details/7976955
注意:若windows系统中已经安装有cygwin,请不要不将cygwin\bin加入系统环境变量path中,否则会有如下错:
cygwin的环境变量在ndk后时:
make: *** [clean-installed-binaries] Error 127
cygwin的环境变量在ndk前时:
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [libs/armeabi/gdbserver] Error 1
困惑了两天的环境配置问题,按照网上提供的方法去做总是错误,没有一个管用的。
windows xp3下配置Eclipse IDE for Java Developers Version: Indigo Service Release1的ndkr7b环境时遇到的问题。
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [libs/armeabi/libhello-jni.so] Error 1
原因是cygwin的环境变量与ndkr7b的环境变量发生了冲突,将cygwin的环境变量移除后问题解决了。
ndkr7b中已经集成了cygwin的功能,ndk-build.cmd可以帮助我们完成一切。
若没有特别原因,在eclipse中配置了ndkr7b就不需要cygwin了。
若在windows命令行下使用ndk编译c/c++程序要在jni的所在目录下用命令ndk-build.cmd,一定要带上cmd后缀。