Попытка скомпилировать JNI (нативные) части примера NDK в Сан-Анджелесе (Windows) - PullRequest
0 голосов
/ 30 июля 2011

Я пытаюсь сделать то, что говорит вопрос - используя оболочку Cygwin.Я настроил его в соответствии с 2 по существу эквивалентными учебниками, которые я гуглил, но пока не могу заставить процесс 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 Ответ

1 голос
/ 02 августа 2011

Я исправил проблему с помощью комментариев.

Во-первых, мне пришлось перейти на путь проекта, чтобы построить, во-вторых, это помогло, когда я заменил все пути DOS на пути posix / Cygwin!Вот новый пакетный файл:

@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

Пример изменился, но вы получите его.Также, @startup, выполните: cd $ DEV_ROOT

...