ndk+cygwin的种种问题
配置 cygwin的问题,选择时可以全部安装,但太麻烦了,记住一选择make,否则 无法 编译的.
然后设置一些环境变量,在打开安装目录下的cygwin.bat它会建一个目录在/home/下,然后进入你的用户目录,编辑文件.bashrc就可以了,
添加两行内容:
export ANDROID_NDK_ROOT=/cygdriver/d/android-ndk-r7
export ANDROID_SDK_ROOT=/cygdriver/d/android-sdk-windows 这句不加估计也可以,主要是它能认出ndk目录.
然后配置 Eclipse.这些网络上都有了.就不说了,然后配置新的Builder的时候在Environment里要添加ndk变量名字为ANDROID_NDK_ROOT值 为/cygdriver/....就是上面的,
变量名字如果不是ANDROID_NDK_ROOT会认不到的.这也比较弱.
具体看图了:设置工程编译语句及cygwin路径
设置变量:默认是无的,所以新建一个。
需要注意下refresh最好设置一下,不会刷新整个工程,默认是刷新整个工程的。
cygwin编译时,涉及的磁盘路径 都是/cygdrive/这种风格的,而不是c:\ndk这样的。
$ANDROID_NDK_ROOT就是前面设置.bashrc的作用,如果不设置估计也可以用/cygdrive/e/NDK这样的路径 代替。
最后的显示日志:
Your group is currently "mkpasswd". This indicates that your
gid is not in /etc/group and your uid is not in /etc/passwd.
The /etc/passwd (and possibly /etc/group) files should be rebuilt.
See the man pages for mkpasswd and mkgroup then, for example, run
mkpasswd -l [-d] > /etc/passwd
mkgroup -l [-d] > /etc/group
Note that the -d switch is necessary for domain users.
Install : libpdfview2.so => libs/armeabi-v7a/libpdfview2.so
Install : libpdfview2.so => libs/armeabi/libpdfview2.so
-----------------------------------
然后编译时可能会有一个错误:这是不固定的,我在不同的机器上有不同的效果。
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !
ndk使用了awk工具,而默认的这个awk工具过期了或者不是gawk和nawk,ndk默认自带了一个过期的awk工具,删掉它即可.然后就可以编译了.
比较恶心的是cygwin经常在工程目录里多了一个NUL的文件.dos下不能删除.进入 cygwin用linux命令就可以删除了。
不知道有没有办法不产生这个文件呢?