【问题标题】:Cygwin is trimming my android.mk pathCygwin 正在修剪我的 android.mk 路径
【发布时间】:2012-04-23 07:43:28
【问题描述】:

我正在像这样用 Cygwin 编译我的项目 Android 项目

bash.exe -i [ANDROID_NDK_HOME]/ndk-build -j4

我在 win7 x86 上遇到了这个问题

Android NDK:您的 APP_BUILD_SCRIPT 指向一个未知文件:/cygdrive/d/jni/Android.mk /cygdrive/d/DevTools/android-ndk/build/core/add-application.mk:118: * Android NDK: Aborting... .停下来。

我的android.mk的路径应该是/cygdrive/d/my_app/android/my_project/jni/Android.mk

为什么 cygwin 会修剪我的路径字符串?

在其他电脑上不会发生此问题(Win 7 x64)。

【问题讨论】:

    标签: android path android-ndk cygwin gnu-make


    【解决方案1】:

    我不认为“-i”会起作用。我相信你应该使用“--login -c”。此外,在运行 ndk-build 之前,您必须使用 cd 来更正目录。当我使用 Cygwin for Android NDK 时,我正在运行以下 bat 文件以在 cygwin 下的当前目录中运行 ndk-build 命令:

    set ANDROID_NDK=C:\android\ndk
    set CYGWIN=C:\cygwin
    
    for /f "delims=" %%A in ('%CYGWIN%\bin\cygpath.exe "%cd%"') do set CUR_DIR=%%A
    for /f "delims=" %%A in ('%CYGWIN%\bin\cygpath.exe "%ANDROID_NDK%"') do set NDK_DIR=%%A
    
    %CYGWIN%\bin\bash --login -c "cd %CUR_DIR% && %NDK_DIR%/ndk-build -j4"
    

    但现在我不再使用 cygwin。 Android NDK 可以从原生 Windows 命令行 (cmd.exe) 将 ndk-build.cmd 作为原生 bat 文件运行,无需 Cygwin。

    【讨论】:

    • 非常感谢您的解决方案。我们还通过将项目文件夹移动到根 C 目录解决了这个问题。我真的会记住你的几个解决方案,如果这个问题再次发生以节省时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多