Android NDK版本引起的编译错误

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

一顿操作猛如虎,白白浪费一下午。

接入了一个新的工程,其中有个模块是需要编译so文件的。
但是无论如何怎么编译,一直报错,而且是各种错误。
想到的解决方案:

  1. 升级NDK版本。在sdk manager -> sdk tools中升级到了18.1版本。结果还是编译不过。
  2. 在google顺着build提示的错误查找。没有结果。
  3. 更改compileSdkVersion和targetSdkVersion。没用。

没有头绪中。。。

最后打开了一个旧工程,但是却提示:mips64el-linux-android-strip找不到。
想到了是前面更新过NDK了,可能是新版本的NDK导致的。

网上查了下,有建议下一个android-ndk-r16b版本的。
于是到 https://developer.android.google.cn/ndk/downloads/older_releases
找到r16b版本下载,然后将工程的local.properties中的ndk.dir改成解压后的包路径。

再运行一下,仍然报错,提示:

error: unknown warning option ‘-Wunused-but-set-parameter’; did you
mean ‘-Wunused-parameter’? [-Werror,-Wunknown-warning-option] error:
unknown warning option ‘-Wunused-but-set-parameter’; did you mean
‘-Wunused-parameter’? [-Werror,-Wunknown-warning-option]

顺着线索,网上找到了Mars开源项目中有人也遇到这个问题:
https://github.com/Tencent/mars/issues/55
Issue中有人建议换成r11c可以编译成功。

于是又去下了个android-ndk-r11c的,替换ndk路径后,编译成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值