试图编译NDK的San Angeles示例的JNI(本机)部分(Windows)

时间:2011-07-30 11:39:16

标签: android cygwin android-ndk

我正在尝试做问题所说的 - 使用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
$

非常感谢我向正确的方向踢我的屁股。

1 个答案:

答案 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