为什么 Android Studio 试图在构建过程中连接文件名?
Why is Android Studio trying to concatenate filenames during the build process?
我正在尝试构建这个项目:https://github.com/sureshjoshi/android-ndk-swig-example
这是一个使用 SWIG 包装 C++ 库以供在 Android 上使用的小型示例项目。构建时出现此错误:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.cxx:802:1: fatal error: opening dependency file C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d: No such file or directory
打破它,我看到它正在尝试打开这个文件:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
进一步分解,我看到此文件路径两次包含项目的绝对路径,但冒号被下划线替换:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/
C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
我想知道是什么原因造成的。我在没有空格的路径中安装了 NDK,因为众所周知这会导致问题。你可以看到我的项目在它的路径中也没有空格。
在构建过程中实际执行的失败行是这样的,为清楚起见分解为:
C:\Dev\Android\android-ndk-r10d\ndk-build.cmd
NDK_PROJECT_PATH=null
APP_BUILD_SCRIPT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\Android.mk
APP_PLATFORM=android-21
NDK_OUT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj
NDK_LIBS_OUT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\lib
APP_STL=gnustl_shared
APP_ABI=all
这似乎与文件路径长度有关。在 D:\production\Pong\Devel2010\Src\UnityGames\BhvrDemo\BHVRSWIGTest\
中也不起作用
我从
移动了我的项目文件夹
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master
到
D:\Almo\Work\android-ndk-swig-example-master
现在可以使用了,但可能只是因为文件名更短了:
D:\Almo\BinkSWIGTest2\NDKExample\app\build\intermediates\ndk\debug\obj\local\arm64-v8a\objs\SeePlusPlus\D_\Almo\BinkSWIGTest2\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
仍在创建中。
我正在尝试构建这个项目:https://github.com/sureshjoshi/android-ndk-swig-example
这是一个使用 SWIG 包装 C++ 库以供在 Android 上使用的小型示例项目。构建时出现此错误:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.cxx:802:1: fatal error: opening dependency file C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d: No such file or directory
打破它,我看到它正在尝试打开这个文件:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
进一步分解,我看到此文件路径两次包含项目的绝对路径,但冒号被下划线替换:
C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/
C_\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
我想知道是什么原因造成的。我在没有空格的路径中安装了 NDK,因为众所周知这会导致问题。你可以看到我的项目在它的路径中也没有空格。
在构建过程中实际执行的失败行是这样的,为清楚起见分解为:
C:\Dev\Android\android-ndk-r10d\ndk-build.cmd
NDK_PROJECT_PATH=null
APP_BUILD_SCRIPT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\Android.mk
APP_PLATFORM=android-21
NDK_OUT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\obj
NDK_LIBS_OUT=C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master\NDKExample\app\build\intermediates\ndk\debug\lib
APP_STL=gnustl_shared
APP_ABI=all
这似乎与文件路径长度有关。在 D:\production\Pong\Devel2010\Src\UnityGames\BhvrDemo\BHVRSWIGTest\
中也不起作用我从
移动了我的项目文件夹C:\Users\elarson\Desktop\Downloads\android-ndk-swig-example-master
到
D:\Almo\Work\android-ndk-swig-example-master
现在可以使用了,但可能只是因为文件名更短了:
D:\Almo\BinkSWIGTest2\NDKExample\app\build\intermediates\ndk\debug\obj\local\arm64-v8a\objs\SeePlusPlus\D_\Almo\BinkSWIGTest2\NDKExample\app\src\main\jni\SeePlusPlus_wrap.o.d
仍在创建中。