Android Studio 2.3中Gradle缩进问题

6
每次我在AS 2.3中创建新的Activity时,它都会弄乱build.gradle的缩进,导致出现这样的错误。
错误:无法获取类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler对象的未知属性“compile”。
我每次都必须重新调整缩进。有没有办法永久解决这个问题?

我遇到了同样的问题,我的解决方案是保持Android Studio生成的默认格式,下次自动重新格式化build.gradle时它就会保持不变。我知道这不是一个解决方案,希望有人知道一个永久性的解决方法来解决这个烦人的问题。 - humazed
请在此处发布您的build.gradle文件,以查看您的问题具体是什么。 - humazed
@humazed,看起来和Egek92在答案中提供的示例完全一样。我使用Source Tree放弃对gradle文件所做的更改以恢复缩进。不过每次这样做都非常麻烦。 - wick.ed
2个回答

1
不要将编译用作属性,并且不要更改gradle结构。
compile 'com.android.support:appcompat-v7:22.2.1' compile

 'com.parse:parse-android:1.11.0'

有时候Gradle构建会像上面那样搞乱代码,这种情况仍然会发生。可能与Java JDK更新有关。

谢谢您的快速回复。 我不明白您所说的“不要将编译用作属性”的意思。此外,我并没有明确更改gradle结构。每次我创建一个新活动时它都会自动发生 :( - wick.ed
@wick.ed 我的意思是你不应该像我在例子中提到的那样更改默认格式,这种情况经常发生,目前还没有可能的解决方案,最好的方法是保持 JDK 和你的 IDE 更新。祝你好运! - Ege Kuzubasioglu

0
问题似乎是由包含花括号的行引起的,例如:
compile('com.github.tony19:logback-android-core:1.1.1-4') {
    exclude group: 'ch.qos.logback.core.net'
}

为避免错误,请将所有带花括号的行放在“通常”的(例如compile 'something')行之上,如下所示:
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.github.tony19:logback-android-core:1.1.1-4') {
    exclude group: 'ch.qos.logback.core.net'
}
compile('com.github.tony19:logback-android-classic:1.1.1-4') {
    exclude group: 'ch.qos.logback.core.net'
}

compile 'com.bolyartech.forge.android:forge-android:6.1.0'
compile 'com.bolyartech.scram_sasl:scram_sasl:2.0.0'
compile 'com.android.support:multidex:1.0.1'
compile 'com.squareup:otto:1.3.6'
compile 'com.google.code.gson:gson:2.7'
compile 'com.github.franmontiel:PersistentCookieJar:v0.9.3'
compile 'com.google.dagger:dagger:2.9'
...

太棒了!谢谢 :D - wick.ed
@wick.ed 这个回答的哪一部分与我的建议不同(不要改变gradle结构)? - Ege Kuzubasioglu
@Egek92,我无法理解你的回答,所以可能其他用户也有同样的问题。 - Ognyan
@Egek92:“为了避免错误,只需将所有带大括号的行放在“通常”(即编译“something”)行之上,就像这样:”这部分内容。它准确地解释了“不要更改gradle结构”的含义。 - wick.ed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接