studio2.0+ndk-r11 中jni编译问题

写完了jni的helloworld之后发现当导入多个.c后出现了undefined reference to 的问题,如果是log标签的,最后找到了办法,修改gradle脚本,然后log的reference问题解决了:


可是还是有问题:


最终我决定使用gradle命令来追踪编译过程:在Terminal中输入gradlew compileDebug --stacktrace然后我发现提示开始下载gradle-2.10-all.zip,此时也可以选择手动安装,去下载一个gradle-2.10-all.zip(http://tools.android-studio.org/index.php/85-tools/109-android-tools-download),接着我根据教程去配置环境变量了,接着在dos窗口输入gradlew -v发现成功了,可是当我去studio的Terminal中输入gradle命令时发现又开始下载zip了,最后找到了配置办法:

C:\Users\"your username"\.gradle\wrapper\dists,以文件版本加all来命名的文件夹比如gradle-2.10-all,在这个下面有一串以a4w5fzrkeut1ox71xslb49gst这种字符串命名的文件夹,只需要将下载好的zip文件放进去,然后在Terminal中输入gradlew的任何命令它就会自动配置好,其所做的就是将文件解压释放。

之后会进行Configuring>>0/6 projects>>root project,只是会下载需要的jar

下载一段事件以后不动了,我就去setting中勾选上Gradle中的offline work,然后等待。。。

最后发现这个是中间文件的问题,调用方法不对,修改方法名字就好了。

但是调用库还是不对,最后发现了一个博客http://www.bubuko.com/infodetail-750593.html ,想到是不是NDK的版本问题啊,最后下载了r8的NDK,安装了Cygwin,配置好NDK,再次编译生成SO库,到Studio里面去调用,发现调用成功了!

原来我的Studio2.0,最低可以装的NDK是r9版本的,另外我的手机是android4.2的,NDK版本有对应的固件表,高版本的NDK是不支持低版本的固件。

Cygwin安装与配置可以看我的另一篇文章 http://blog.csdn.net/qwzhj/article/details/52088230

参考:http://www.aichengxu.com/view/2513740

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值