Android studio 为什么Android Studio在构建过程中试图连接文件名?

Android studio 为什么Android Studio在构建过程中试图连接文件名?,android-studio,android-ndk,Android Studio,Android Ndk,我正在尝试构建此项目: 这是一个使用SWIG来封装C++库以供Android使用的小示例项目。我在生成时遇到此错误: C:\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.cxx:802:1:致命错误:打开依赖项文件C:\Users\elarson\Desktop\Downloads\android ndk swig exa

我正在尝试构建此项目:

这是一个使用SWIG来封装C++库以供Android使用的小示例项目。我在生成时遇到此错误:

C:\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.cxx:802:1:致命错误:打开依赖项文件C:\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\build\mediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.o.d:没有这样的文件或目录

分解后,我看到它正试图打开此文件:

C:\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\build\mediates\ndk\debug\obj/local/arm64-v8a/objs/SeePlusPlus/C\Users\elarson\Desktop\Downloads\android ndk swig example master\NDKExample\app\src\main\jni\SeePlusPlus\u 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\uUsers\elasson\Desktop\Downloads\android ndk swig示例主机\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.o.d

我想知道是什么原因造成的。我把NDK放在一个没有空格的路径中,因为这会引起问题。您可以看到我的项目的路径中也没有空格

在构建过程中执行的失败的实际行是这样的,为了清晰起见,将其分解:

C:\Dev\Android\Android-ndk-r10d\ndk-build.cmd

NDK_项目_路径=空

APP\u BUILD\u 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示例主机\NDKExample\app\build\intermediates\NDK\debug\obj

NDK_LIBS_OUT=C:\Users\elarson\Desktop\Downloads\android NDK swig example master\NDKExample\app\build\mediates\NDK\debug\lib

APP\u STL=gnustl\u共享

APP_ABI=all


这似乎与文件路径长度有关。在D:\production\Pong\Devel2010\Src\UnityGames\BhvrDemo\BHVRSWIGTest中也不起作用\

我从中移动了我的项目文件夹

C:\Users\elarson\Desktop\Downloads\android ndk swig示例主机

D:\Almo\Work\android ndk swig示例主机

现在它可以工作了,但可能只是因为文件名较短:

D:\Almo\BinkSWIGTest2\NDKExample\app\build\intermediates\ndk\debug\obj\local\arm64-v8a\objs\SeePlusPlus\D\uu\Almo\BinkSWIGTest2\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.o.D


仍然创建。这似乎与文件路径长度有关。在D:\production\Pong\Devel2010\Src\UnityGames\BhvrDemo\BHVRSWIGTest中也不起作用\

我从中移动了我的项目文件夹

C:\Users\elarson\Desktop\Downloads\android ndk swig示例主机

D:\Almo\Work\android ndk swig示例主机

现在它可以工作了,但可能只是因为文件名较短:

D:\Almo\BinkSWIGTest2\NDKExample\app\build\intermediates\ndk\debug\obj\local\arm64-v8a\objs\SeePlusPlus\D\uu\Almo\BinkSWIGTest2\NDKExample\app\src\main\jni\SeePlusPlus\u wrap.o.D


确实,路径如此漫长,我无法相信路径长度让我被困在黑洞中如此漫长,路径如此漫长,我无法相信路径长度让我被困在黑洞中如此漫长