Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not find method ndk() for arguments

Tags:

android-ndk

I'm following Create Hello-JNI With Android Studio.

MAC OX 10.11.5

Android Studio 2.2 stable

java version: 1.7.0_79

gradle-2.14.1

Here's my app.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId "com.chenql.helloandroidjni"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    ndk {
        moduleName "hello-android-jni"
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    testCompile 'junit:junit:4.12'
}

Here's the error: The Error Message

Error:(20, 0) Could not find method ndk() for arguments [build_13jh6qtzl4f08f8c1of3mvsys$_run_closure1$_closure5@5b127949] on project ':app' of type org.gradle.api.Project.

Open File

like image 962
Lim CHAN Avatar asked Nov 09 '16 07:11

Lim CHAN


People also ask

What is ndk side by side in Android Studio?

This should allow you to have more reproducible builds and mitigate incompatibilities between NDK versions and the Android gradle plugin." I think side by side means you may use multiple NDK versions simultaneously. It is a new version to replace the ndk bundle version.


2 Answers

It turns out that this code

ndk {     moduleName "hello-android-jni"     } 

should be placed under "defaultConfig" block:

defaultConfig {     applicationId "com.chenql.helloandroidjni"     minSdkVersion 22     targetSdkVersion 23     versionCode 1     versionName "1.0"     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"      ndk {         moduleName "hello-android-jni"     } } 

instaed of after "buildTypes" block.

like image 98
Lim CHAN Avatar answered Sep 29 '22 23:09

Lim CHAN


Upgrading to a newer version of the Gradle plugin solves

like image 28
Jarvis098 Avatar answered Sep 29 '22 23:09

Jarvis098