Android 如何使用gradle实验插件构建NDK模块?

Android 如何使用gradle实验插件构建NDK模块?,android,android-ndk,gradle-experimental,Android,Android Ndk,Gradle Experimental,我正在尝试使用使用NDK的模块构建项目。 但Gradle构建给出了错误 这是我的版本。gradle(主项目) 当我尝试使用这个gradle:1.5.0时,它给出了错误' 错误:(17,0)id为“com.android.model.application”的插件未找到 另一方面,如果我使用gradle-experimental:0.1.0,它会给出错误' 错误:(17,0)id为“com.android.application”的插件未找到 如何解决此错误?我的项目中有几个模块。如何设置grad

我正在尝试使用使用NDK的模块构建项目。 但Gradle构建给出了错误

这是我的版本。gradle(主项目)

当我尝试使用这个gradle:1.5.0时,它给出了错误' 错误:(17,0)id为“com.android.model.application”的插件未找到

另一方面,如果我使用gradle-experimental:0.1.0,它会给出错误' 错误:(17,0)id为“com.android.application”的插件未找到

如何解决此错误?我的项目中有几个模块。如何设置gradle以满足所有模块

编辑:

build.gradle(主项目)

build.gradle(应用程序)

build.gradle(上下文菜单)

build.gradle(图书馆)

建造.梯度(图书馆2)

build.gradle(min3d)

build.gradle(交错视图)

格雷德尔号(泰坦尼克号)


为了NDK的目的,您应该使用实验插件:

因此,您的build.gradle(主项目)将如下所示:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.4.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "com.sample.codecator"
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
和build.gradle(应用程序)将如下所示:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.4.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "com.sample.codecator"
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
如果您正在使用任何库模块,则其
build.gradle
将如下所示:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.4.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "com.sample.codecator"
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            minSdkVersion.apiLevel = 19
            targetSdkVersion.apiLevel = 19
        }
    }
}
您应该将以下内容从
android{…}
块中删除:

android.buildTypes
android.sources
android.productFlavors
比如:

model {

android {
            compileSdkVersion = 23
            buildToolsVersion = "23.0.2"

            defaultConfig.with {
                minSdkVersion.apiLevel = 19
                targetSdkVersion.apiLevel = 19
            }


   android.buildTypes {
    release {
        minifyEnabled = false
        proguardFiles.add(file("proguard-rules.pro"))
         }
     }
    android.productFlavors {
       //
    }

    android.sources {
        //
    }
}
不要忘记在
local.properties
文件中设置
ndk.dir=ndk\u路径

更新

更新所有文件中的
android.buildTypes
代码,如下所示:

android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles.add(file("proguard-rules.pro"))
        }
    }

我必须更改所有模块的gradle-like模块{…}吗?我想是的,因为您使用的是
com.android.tools.build:gradle-experimental:0.4.0
gradle插件,它将只支持
'com.android.model.application'
。我将所有模块更改为'com.android.model.library'而不是'com.android.library'。但突然它出现了另一个错误——“错误:在任务上找不到属性‘android’:library:androidJavadocs”。“你能告诉我这个错误是什么意思吗?@shj你也必须像我在上面的
build.gradle(app)
code中那样使用model而不是android。”。在这种模式下,您必须修改它。我更改了我的所有渐变,以使用您上面提到的模型。但它给出了另一个错误。错误:无法加载类“com.android.build.gradle.managed.ProductFlavor\u Impl”。如何解决这个错误?
android.buildTypes
android.sources
android.productFlavors
model {

android {
            compileSdkVersion = 23
            buildToolsVersion = "23.0.2"

            defaultConfig.with {
                minSdkVersion.apiLevel = 19
                targetSdkVersion.apiLevel = 19
            }


   android.buildTypes {
    release {
        minifyEnabled = false
        proguardFiles.add(file("proguard-rules.pro"))
         }
     }
    android.productFlavors {
       //
    }

    android.sources {
        //
    }
}
android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles.add(file("proguard-rules.pro"))
        }
    }