【发布时间】:2014-09-21 13:16:42
【问题描述】:
我在 Mac 上的 Android Studio 0.6.1 上运行现有的 android 项目,但出现此错误: 构建脚本错误,发现不受支持的 Gradle DSL 方法:'getProguard()'!
我尝试升级到最新的 Android Studio,但遇到了同样的问题,我还尝试了以下问题论坛中描述的所有解决方案:https://code.google.com/p/android/issues/detail?id=72419 因为许多其他人似乎也遇到了类似的问题解决。即更新到 SDK 工具 rev 23.0.2,并下载最新的 adt 包。
proguard 文件夹实际上也出现在 sdk > Tools 中,因此缺少 proguard 实际上不是问题。
这里是根 build.gradle 文件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.11.+'
}
}
以及主模块中的build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'de.felixschulze.gradle:gradle-hockeyapp-plugin:1.1+'
}
}
apply plugin: 'android'
apply plugin: 'hockeyApp'
configurations {
apt
}
dependencies {
compile 'com.android.support:support-v4:19.0.+'
FileTree tree = fileTree(dir: 'libs', include: '*.jar');
tree.exclude 'android-support-v4.jar'
compile tree;
apt fileTree(dir: 'compile-libs', include: '*.jar')
compile project(':thirdparty:google-play-services_lib')
compile project(':thirdparty:DaoCore')
compile project(':thirdparty:SlidingMenu-master:library')
compile project(':thirdparty:jump.android:Jump')
compile project(':thirdparty:drag-sort-listview')
compile project(':thirdparty:AndroidHorizontalListView')
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src-gen','src','.apt_generated']
resources.srcDirs = ['src-gen','src','.apt_generated']
aidl.srcDirs = ['src-gen','src','.apt_generated']
renderscript.srcDirs = ['src-gen','src','.apt_generated']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
signingConfigs {
releaseSigning {
storeFile file('***')
storePassword ***
keyAlias ***
keyPassword ***
}
}
buildTypes {
release {
signingConfig signingConfigs.releaseSigning
}
}
hockeyapp {
apiToken = "***"
releaseType = 0
notify = 0
status = 2
notesType = 1
notes = "This is an automatic upload"
symbolsDirectory = file("build/symbols/")
mappingFileNameRegex = "R.txt"
}
}
android.applicationVariants.all { variant ->
ext.aptOutput = file(".apt_generated")
ext.aptOutput.deleteDir()
ext.aptOutput.mkdirs()
variant.javaCompile.options.compilerArgs += [
'-processorpath', configurations.apt.asPath,
'-AandroidManifestFile=' + variant.processResources.manifestFile,
'-s', ext.aptOutput
]
}
// clean generated files
task clean(overwrite:true) {
delete fileTree(dir: ".apt_generated")
}
这里的另一位开发人员已经能够在他的 Windows 8 桌面上使用相同版本的 Android Studio 和 Gradle 启动项目并正常运行,所以我认为这与项目本身没有任何关系。
【问题讨论】:
标签: android gradle android-studio proguard