NDK r17b 怎么运行mk老项目

2018-09-10 16:42:42 浏览数 (1)


虽然我也很想使用 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

0 人点赞