虽然我也很想使用 cmake 去创建 ndk 项目,奈何 Android 官方文档和我买的开发书上对于 cmake 都显得资料过少,对于新手来说不利于快速学习整个功能
为了能够按照书上一步一步构建项目,嗯,打个比方,github上有个老ndk项目 ImageBlurring 可惜用最新的gradle-4.4 以及 NDK r17b 去运行,都会爆出不少错误,比如下面这个
代码语言:javascript复制> Error: Your project contains C files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
https://developer.android.com/studio/projects/add-native-code.html
or use the experimental plugin:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental.
当然也有gradle版本太低,跟如今写法大相径庭的部分,当然本篇关注点不在那,修改 blur/build.gradle 为以下内容
代码语言:javascript复制apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
externalNativeBuild {
ndkBuild {
path "src/main/jni/Android.mk"
}
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 200
versionName "2.0.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
主要关注的是blur内的externalNativeBuild标签,把这个标签曾经的ndk标签删除后,添加这样的标签即可,这样点击"Sync Now"后就完成了适配,很简单
哦哦,最后贴一下引用的方法是 stackoverflow 的大佬 stackoverflow