Android Neon

刚毕业的时候弄了一年半的neon,到现在 也忘得差不多了, 最近项目 又要重新 拾起了。特来记录一些问题。之前都是熊瞎子掰苞米了。。。。

Error:(12, 0) Error: NDK integration is deprecated in the current plugin.  
Consider trying the new experimental plugin.  
For details, see http://tools.Android.com/tech-docs/new-build-system/gradle-experimental.  
Set “android.useDeprecatedNdk=truein gradle.properties to continue using the current NDK integration.

想新建一个benchmark,在Android Studio上新建一个 工程与之前有些差异上面的问题是刚编译 就报了个错误,查了一下解决办法:
android.useDeprecatedNdk=true解决ndk提示版本低不能自动编译jni。在gradle.properties文件中加入这句话就可以了。

编译时又遇到了undefined reference to `__android_log_print 问题。

经最后实验:

//1. 
Android.mk->LOCAL_LDLIBS := -llog
//2 
ndk {
    abiFilters "armeabi-v7a"
    ldLibs "log"
}
sourceSets {
    main {
        jni.srcDirs = ['src/main/jni/']
        jniLibs.srcDirs = ['src/main/libs']
    }
}
//3 cpp文件要包含以下内容:
#include <android/log.h>

#define TAG    "Main_jni"
#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,TAG,__VA_ARGS__)

才最终解决。


想引入

#include <iostream>

一直报下面的错误:

error: iostream: No such file or directory

查了很多文档,都是如下解释: 在Application.mk中加入

APP_STL := stlport_static
APP_ABI := armeabi-v7a

引入stlport_static,但是仍然不可以。最后我发现是:

sourceSets {
    main {
        jni.srcDirs = ['src/main/jni/']
        jniLibs.srcDirs = ['src/main/libs']
    }
}

jni.srcDirs = [‘src/main/jni/’]惹得祸。。。会把所有jni下面的文件参与编译,改为jni.srcDirs = []。在android.mk里面进行配置要编译的文件即可。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值