Android 如何使用gradle实验插件构建NDK模块?
我正在尝试使用使用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(交错视图) 格雷德尔号(泰坦尼克号)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的目的,您应该使用实验插件: 因此,您的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"))
}
}