executing external native build for cmake xxx CMakeLists.txt
Android Studio报错如下
executing external native build for cmake xxx CMakeLists.txt
gradle project sync failed.Basic functionality(e.g.editing,debugging
公司项目,同事跑没问题,我在公司跑也没问题代码什么的完全一样。然后我自己电脑上跑报错,网上各种搜索不能解决问题。代码一样为什么不同电脑跑有问题。
原因:是app下build.gradle文件下CMakeLists.txt没有找到对应的路径,虽然有,但就是找不到
首先:这两句话得加上,位置如图
externalNativeBuild { cmake { cppFlags "" } ndk { abiFilters 'armeabi-v7a' } }
externalNativeBuild { cmake { path "CMakeLists.txt" } }
接下来很重要:虽然配置什么没问题,但是就是报错
1.新建一个项目,我是换了包名的(应该可以不换),为了避免修改麻烦,把包名更改一个英文就可以了。
如包名com.baidu.xx可以改成com.baidu.x,com.baidu.xxx或者com.baidu.xj
2.把好项目中的代码全部复制过来(不要在文件中复制,在Android Studio中复制)包括src,两个build.gradle文件,CMakeLists.txt和c++相关文件,包名改了,所以每个类的包名的改,让它们不报错
3.
C++文件名改成和自己包名对应的文件名,如图
如下图:
com_xxxx_natives_YuvUtils_nativeYV12ToNV21,YuvUtils文件里面有nativeYV12ToNV21方法,所以这么定义,如图所示
只要.cpp和.c文件有包含包名文件的方法都得改
当全部改完后try again再次运行,程序正常。所以没有办法解决的小伙伴们,不嫌麻烦可以试一下,至少能解决