Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误

一、前言,今天周末,由于最近又需要调试Android 串口,所以,打算整理一份通用的.so 库,只有通道部分的代码,上次编译库的时候还是半年前,本以为会非常简单,只有几分钟就搞定的,哪个知道,使用最新的Android Studio 3.1.2  和使用NDK 17 编译完全是个坑,正正花费一天的时间,因此,写下这篇文章,防止自己下次遇到问题有忘记了。

二、由于之前写过一篇关于Android Studio 3.0  使用NDK 编写库的,那个时候非常顺利,完全没有想到半年后的今天,当Android Studio 更新到最新版会这么麻烦,耗费了我一天的时间。o(╥﹏╥)o

三、编译环境: Android Studio 3.1.3    NDK 版本 17.xxxxx   系统:Windows 10 x64

Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误_第1张图片

Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误_第2张图片

四、如下:


error: no such file or directory:	    //一直都是报这个错误
  'SDK/ndk-bundle/sysroot/usr/include/i686-linux-android'
	
  ninja: build stopped: subcommand failed.	

error: no such file or directory:	
  'SDK/ndk-bundle/sysroot/usr/include/i686-linux-android'
	
  ninja: build stopped: subcommand failed.	//一直报错

Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误_第3张图片

一开始,以为是哪里配置有问题,或则自己写的代码有问题。因此,就一直找自己的问题,后来发现自己的代码完全没有问题,但是,无论怎么编译都是报上面的错误,于是去网上搜索这个问题的解决办法,无论我怎么找,翻遍了百度都没有相同都人遇到过。直到今天下午,快要吃晚饭的时候。就去CSDN 逛了一下, 其中有个帖子好像和我遇到相关的问题,进去里面,发现问题果然一样,但是没有具体的解决办法,其中有一楼提到Android Studio SDK配置目录不能有空格,或则其他字符之类的。

试了一些,编译竟然通过了,我去,想骂一句,我去,怎么是这样子,这样应该是编译器的bug吧,有个空格就识别不出来。o(╥﹏╥)o

如下图:带空格的SDK 目录 ("Android SDK") 

Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误_第4张图片

编译一直报错,下面是修改的SDK 目录名后:("Android SDK"  ===》"AndroidSDK")

Android Studio 3.1.3 使用NDK 编译出现不能error: no such file or directory: 'SDK/ndk-bundle/sysroot/usr/in等错误_第5张图片

编译通过了,可以看到目录下,有相关.SO 文件

五、关于NDK 17 编译库失败问题,可以以下这篇文章:

修复升级ndk到17.0.4754217编译so失败问题

o(╥﹏╥)o 搞了一天,吃晚饭去了, 这又浪费一天的时间了。

你可能感兴趣的:(Android,so库)