我在我的项目中使用 com.android.tools.build:gradle-experimental:0.6.0-alpha3 插件。我的构建 gradle 看起来像:
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 19
buildToolsVersion = "19.1.0"
defaultConfig.with {
applicationId = "com.my.company"
minSdkVersion.apiLevel = 9
targetSdkVersion.apiLevel = 19
versionCode = 2
versionName = "0.0.4"
}
}
android.ndk {
moduleName = "native"
stl = "gnustl_static"
cppFlags.add("-I" + file("../../src").absolutePath)
cppFlags.add("-std=gnu++11")
cppFlags.add("-fexceptions")
cppFlags.add("-frtti")
ldLibs.add("log")
ldLibs.add("GLESv2")
ldLibs.add("android");
}
android.sources {
main {
assets {
source {
srcDir "../../assets"
}
}
res {
source {
srcDirs = ['../../res']
}
}
jni {
source {
srcDir "../../src"
}
}
}
}
android.buildTypes {
release {
minifyEnabled = false
proguardFiles.add(file("proguard-rules.pro"))
}
}
android.productFlavors {
create("arm") {
ndk.abiFilters.add("armeabi")
}
create("arm7") {
ndk.abiFilters.add("armeabi-v7a")
}
create("google") {
ndk.abiFilters.add("armeabi")
ndk.abiFilters.add("armeabi-v7a")
}
create("amazon") {
ndk.abiFilters.add("armeabi")
ndk.abiFilters.add("armeabi-v7a")
}
}
}
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
我需要为 Google Play Store 和 Amazon Store Apps 包含不同的 .jar 文件。我相应地添加了 2 种口味,名称分别为 google 和 amazon,并在我的依赖项块中添加了 2 行:
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
googleCompile fileTree(dir: 'libs/google', include: ['*.jar'])
amazonCompile fileTree(dir: 'libs/amazon', include: ['*.jar'])
}
问题是,在此更改后,由于 gradle 无法解析,我得到了 procen 项目并给出错误:未找到 Gradle DSL 方法:'googleCompile()'
任何人都可以帮助我或前往研究问题的正确方法。谢谢你。