プロジェクトを同期しようとすると、次のビルドエラーが発生します。
Error:(9, 0) Gradle DSL method not found: 'compile()'
Possible causes:The project 'AlexTest' may be using a version of Gradle that does not contain the method.
The build file may be missing a Gradle plugin.
link: Apply Gradle plugin
私は下部の同じリンクにリンクされているすべてのgradleプラグインを適用しようとしましたが、同じ問題があるため、最初のエラーが原因であると結論付けます。
AlexTestのbuild.gradleファイル(プロジェクトディレクトリ)は次のとおりです。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.13.2'
compile 'com.google.Android.gms:play-services:6.1.11'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
私はそれが問題を抱えていたgradleファイルだったと思います。しかし、それがどのメソッドを指しているのか分かりません。
また、これはgradle-wrapper.propertiesであり、これも参照しています。
#Mon Nov 10 01:06:12 PST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.Zip
おそらく、distributionUrlのgradleバージョンは、依存関係のgradleバージョンと一致する必要がありますか?
また、appディレクトリ自体にbuild.gradleファイルがあります-1レベル下ですが、それが参照しているとは思いませんが、ここにあります:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 20
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.snappiesticker.alextest"
minSdkVersion 16
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.Android.gms:play-services:6.1.+'
}
私は下部の同じリンクにリンクされているすべてのgradleプラグインを適用しようとしましたが、同じ問題があるため、最初のエラーが原因であると結論付けます。
正しい。
AlexTestのbuild.gradleファイル(プロジェクトディレクトリ)は次のとおりです。
このファイルにはコードコメントが含まれていることに気付くでしょう。
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
そのファイルからcompile 'com.google.Android.gms:play-services:6.1.11'
行を削除します。他のcompile 'com.google.Android.gms:play-services:6.1.+'
ファイルにあるbuild.gradle
を残します。
dependencies
のbuildscript
クロージャーは、Gradleプラグイン専用です。モジュールのbuild.gradle
ファイルにある最上位のdependencies
クロージャーは、アプリケーションの依存関係用です。
Sawは、他の理由で問題が発生したと報告しましたが、これは解決しました。
プロジェクト構造(Android Studio)で変更を行って[OK]を押すと、Gradleは同期されますが、依存関係ブロックに次のようなものがある場合、このタイプの同期が行われます。
同期後、このブロックは次のようになります。
この問題を解決する1つの方法は、同期前の状態を維持するために改行を挿入するか、2つのステートメントの間にセミコロンを挿入することです。
役に立てば幸いです。
依存関係にだまされやすい文を追加するだけです
プラグインの適用:「jetty」
みなさん、こんにちは。アプリをAndroid Studioで実行するのは「数日かかる仕事」でした(Eclipseから移行し、この問題もありました)。最後に、そのとても簡単な方法を見つけました。
それがすべてお楽しみください。