Android studio配置NDK问题小结
来源:互联网 发布:富士康mac是什么意思啊 编辑:程序博客网 时间:2024/06/07 03:23
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']) }
0 1
- Android studio配置NDK问题小结
- android studio NDK配置BUG问题
- android studio 配置 NDK
- Android Studio NDK配置
- android studio ndk配置
- Android Studio 配置NDK
- Android Studio 配置NDK
- Android Studio配置NDK
- android studio NDK配置
- Android studio NDK问题
- Android studio NDK问题
- ubuntu android studio ndk 配置
- android studio ndk编程 配置
- mac android studio 配置 ndk
- android studio 配置ndk方案
- Android studio ndk环境配置
- Android studio NDK配置使用
- Android Studio NDK正确配置
- Python字典按值排序、包含字典的列表按字典值排序的方法
- mysql 安装
- 常用查找和排序
- 解决 MinGw编译wxWidgets出错
- 理解Python的With语句
- Android studio配置NDK问题小结
- Swift2.0系列]Error Handling(项目应用篇)
- BRISK
- Android引导用户打开应用市场评分自己的app
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- Android创建文件夹及文件并写入数据
- java征途的点滴
- Linux ln命令 - 建立文件/目录链接(只看红色部分)
- Xcode如何手动添加pch文件