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再次运行,程序正常。所以没有办法解决的小伙伴们,不嫌麻烦可以试一下,至少能解决

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值