1. Plugin with id 'com.android.model.application' not found

修正最上层的build文件,

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

//classpath 'com.android.tools.build:gradle:2.0.0'

classpath 'com.android.tools.build:gradle-experimental:0.7.0-rc1'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

....

}同时修改app目录下的build.gradle文件(红色部分),如果

apply plugin:'com.android.model.application';

model {

android {

compileSdkVersion 23

buildToolsVersion "23.0.3"

defaultConfig {

applicationId "com.example.king.mytest"

minSdkVersion.apiLevel 15

targetSdkVersion.apiLevel 23

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

proguardFiles.add(file('proguard-rules.pro'))

}

}

ndk {

moduleName = "NdkSample"

cppFlags.add("-std=c++11")

cppFlags.add("-fexceptions")

abiFilters.add("armeabi")

abiFilters.add("x86")

ldLibs.add("android")

ldLibs.add("log")

stl = "gnustl_shared"

}

productFlavors {

create("arm") {

ndk.abiFilters.add("armeabi")

}

create("arm7") {

ndk.abiFilters.add("armeabi-v7a")

}

create("arm8") {

ndk.abiFilters.add("arm64-v8a")

}

create("x86") {

ndk.abiFilters.add("x86")

}

create("x86-64") {

ndk.abiFilters.add("x86_64")

}

create("mips") {

ndk.abiFilters.add("mips")

}

create("mips-64") {

ndk.abiFilters.add("mips64")

}

// To include all cpu architectures, leaves abiFilters empty

//create("all")

}

compileOptions.with {

sourceCompatibility JavaVersion.VERSION_1_7

targetCompatibility JavaVersion.VERSION_1_7

}

}//end android

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

//testCompile 'junit:junit:4.12'

compile 'com.android.support:appcompat-v7:23.3.0'

}

2. 支持C++11,在app的build文件内修改

ndk {

moduleName = "NdkSample"

cppFlags.add("-std=c++11")

cppFlags.add("-fexceptions")

abiFilters.add("armeabi")

abiFilters.add("x86")

ldLibs.add("android")

ldLibs.add("log")

stl = "gnustl_shared"

}其中有个比较有意思的是,也是让我搞了大半天的问题是加入这些配置项的写法问题

有类似 cppFlags "-std=c++11"

也有类似cppFlags +="-std=c++11"方式,我最后编译通过是使用了add方式

网上有说在gradleWrapper中如果使用的是2.5,cppFlags 的添加则使用 += 的方式,否则需要使用.add的方式

(我的是gradle-2.10-all,可在gradle/wrapper/gradle-wrapper.properties文件中查看)

哪位小伙伴如果清楚为什么会有这么多配置方式请指点明路呀,多谢!!!

3. The currently selected variant "arm7-debug" uses split APKs, but none of the 1 split apks are compatible with the current device with density "480" and ABIs "x86".

最开始以为需要在productFlavors 内增加x86的支持,结果增加后仍然提示此问题。

最后在NDK中通过增加abiFilters.add("x86") 的方式解决

4. 同时生成多个so文件

由于对gradle配置不熟悉的原因,导致很多问题绕了好多圈子。例如想要生成多个so的方法如下,即在ndk中配置多个moduleName

ndk {

moduleName = "NdkSample"

cppFlags.add("-std=c++11")

cppFlags.add("-fexceptions")

abiFilters.add("armeabi")

abiFilters.add("x86")

ldLibs.add("android")

ldLibs.add("log")

//stl = "gnustl_shared"

//c code

moduleName = 'hello-jni'

toolchain = 'clang'

CFlags.addAll(['-Wall'])

}

android_ndk_build_flags 配置,Android studio配置NDK问题小结相关推荐

  1. [Android] 环境优化配置Android Studio发展NDK

    ======================================================== 作者:qiujuer 博客:blog.csdn.net/qiujuer 站点:www. ...

  2. android百度api配置,Android Studio 配置使用百度api (附带简单样例)(示例代码)

    还是和同学开发的那个课程作业项目的app, 要使用到百度地图的api 但是,官方文档貌似只有Eclipse的例子,对Android Studio似乎没有说明.  难道,是因为后者是 "Doo ...

  3. android studio aspectj 配置,Android studio配置AspectJ

    一.首先说说使用AspectJ的意义 使用切点插入,减少冗余代码,但是因为是编译时插入,所以运行时会有性能损耗,但是总的来说微乎其微 二.运行原理 这是我原来的代码 @BehaviorTrace(&q ...

  4. Mac下Android studio 之NDK配置教程(一)

    Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...

  5. 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )

    文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  6. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  7. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

  8. Mac下Android studio 之NDK配置教程(二)

    Mac下Android studio 之NDK配置教程(二) (一)简述 从上一篇NDK配置教程(一) 中,我 简单的阐述了MAC下NDK的基本解压和环境配置步骤. 本节我讲详细描述android s ...

  9. Android studio 配置NDK ---实验步骤跟进记录(初定完结)

    测试环境 ---- android studio 3.0 NDK环境 ---- 17.1.4828580 目的:开源博客,希望各位纠错指正,指正的位置也会标注出指正的作者,本人QQ231734881 ...

最新文章

  1. 谷歌编程语言年度榜NO.1:知识体系总结(2021版)
  2. 第五周项目四-长方柱型(2)
  3. 结构对齐--__packed与#pragma pack
  4. VTK:BSP树时序用法实战
  5. 【翻译】Prometheus 2.4.0 新特性
  6. iOS Class结构分析
  7. python 字符串子串_Python字符串子字符串
  8. 为什么机器学习在投资领域不好使
  9. Python根据歌曲id爬取网易云音乐歌词
  10. linux用户及组管理实训,实训 Linux下用户和组的管理和权限命令操作.doc
  11. 数据安全治理方法导论
  12. shenyu2.5.0解决Exceeded limit on max bytes to buffer:262144
  13. python数据分析学习和建模的个人笔记(一)
  14. Discuz仿今日头条模板/Discuz新闻资讯商业版GBK模板
  15. 如何进行邮件营销,邮件营销群发是否有效?
  16. Unity2D音游案例-节奏大师教程+源码+素材
  17. CodeForces869E The Untended Antiquity
  18. 小世界效应:从凯文·贝肯到六度分隔理论(1)
  19. VC++获取磁盘剩余空间(附源码)
  20. HarmonyOS上玩“语音识别”

热门文章

  1. Linux下Tomcat死活找不到JSP页面中import指定类的解决方法
  2. vue assets图片_Vue实战—如何细化Vue项目目录设计(2)
  3. arcengine动态显示所需字段值
  4. 记录一些js面试题以及解法
  5. 学习笔记(二) 消息队列
  6. 使用容器和Elasticsearch集群对Twitter进行监控
  7. css设置background图片的位置实现居中
  8. 第二章 Javac编译原理
  9. 从单机到集群会话的管理之集群模式一
  10. 环境软件android 游戏开发-libgdx(一)