我正在尝试做问题所说的 - 使用Cygwin shell。我根据2个基本相同的教程设置了我用Google搜索但是我无法让shell / make进程正常工作。显然,Unix / Cygwin技能缺乏。
所以,我的Cygwin安装在它的默认位置,我也设置了Android SDK和NDK(普通的Java应用程序可以很好地从Eclipse构建/调试)。
这是我修改过的Cygwin.bat的样子:
@echo off
set IS_UNIX=
set DEV_ROOT=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles
set JAVA_HOME=c:/PROGRA~1/Java/jdk1.6.0_26
set CLASSPATH=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles/obj
set PATH=c:/PROGRA~1/Android/android-sdk/tools;c:/PROGRA~1/Android/android-ndk-r6
set ANDROID_NDK_ROOT=c:/PROGRA~1/Android/android-ndk-r6
set NDK_PROJECT_PATH=c:/PROGRA~1/Android/android-ndk-r6/samples/san-angeles
C:
chdir C:\cygwin\bin
bash --login -i
这些路径是正确的。当我更改NDK根路径并输入./ndk-build时,结果如下:
nova@edwmini ~
$ cd c:/progra~1/android/android-ndk-r6
nova@edwmini /cygdrive/c/progra~1/android/android-ndk-r6
$ ./ndk-build
/cygdrive/c/progra~1/android/android-ndk-r6/build/core/build-binary.mk:37: *** t
arget pattern contains no `%'. Stop.
nova@edwmini /cygdrive/c/progra~1/android/android-ndk-r6
$
非常感谢我向正确的方向踢我的屁股。
答案 0 :(得分:1)
我已使用评论解决了问题。
首先,我必须转到项目路径才能构建,其次,当我替换posix / Cygwin路径的所有DOS路径时,它有所帮助!这是新的批处理文件:
@echo off
set DEV_ROOT=/cygdrive/c/PROGRA~1/Android/android-ndk-r6/samples/hello-gl2
set IS_UNIX=
set JAVA_HOME=/cygdrive/c/PROGRA~1/Java/jdk1.6.0_26
set ANDROID_NDK_ROOT=/cygdrive/c/PROGRA~1/Android/android-ndk-r6
set PATH=/cygdrive/c/PROGRA~1/Android/android-sdk/tools:%ANDROID_NDK_ROOT%:$PATH
set CLASSPATH=%DEV_ROOT%/obj
set NDK_PROJECT_PATH=%DEV_ROOT%
C:
chdir C:\cygwin\bin
bash --login -i
样本已经改变但你会得到它。另外,@ start,do:cd $ DEV_ROOT