web-dev-qa-db-ja.com

引き数にメソッドAndroid()が見つかりませんでした

私はAndroid Studioにプロジェクトをインポートしようとしていて、これが私が行き詰まっているところです、 Stack Overflow に同様の質問がありますが、それはしませんでした私の特定のエラーに対する解決策を提供してください。

これは私のエラーログです:

C:\<some location>\build.gradle

Error:(24, 1) A problem occurred evaluating root project '<project name>'.
> Could not find method Android() for arguments [build_4fli1jm76ubcnxesnhqnhie47$_run_closure3@6e71db85] on root project '<project name>'.
Information:BUILD FAILED

Gradle同期メッセージは以下のとおりです。

エラー:(24、0)Gradle DSLメソッドが見つかりませんでした: 'Android()'考えられる原因:

  • プロジェクト 'PoojaPeople'はメソッドを含まないGradleのバージョンを使用している可能性があります。 Gradleの設定
  • ビルドファイルにGradleプラグインがない可能性があります。 Gradleプラグインを適用

このメソッドAndroid()が正確にどこにあるのか私はよくわかりません。それがアプリケーションのbuild.gradleファイルにあるものであるなら、私はまだここからどこへ行くべきか正確にはわかりません。任意の助けは大歓迎です。

私のbuild.gradle

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
    }
     dependencies {
        classpath 'com.Android.tools.build:gradle:2.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()

    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

Android {
    compileSdkVersion 17
    buildToolsVersion '23.0.0'
}
dependencies {
    compile files('app/libs/junit-4.12-JavaDoc.jar')
}
apply plugin: 'maven'
61
user1528506

間違ったbuild.gradleファイルを使用しています。

あなたのトップレベルファイルであなたはAndroidブロックを定義することはできません

この部分をmodule/build.gradleファイル内に移動するだけです。

Android {
    compileSdkVersion 17
    buildToolsVersion '23.0.0'
}
dependencies {
    compile files('app/libs/junit-4.12-JavaDoc.jar')
}
apply plugin: 'maven'
146

みんな。 .aarパッケージを自分のプロジェクトにインポートしようとしたときと同じ問題がありました。残念ながら、.aarを作成する前に私のプロジェクトのモジュール依存としてパッケージ、私は2つのモジュールを持っていた(1つはROS-Android-CV-BRIDGEについて、1つはOPENCV-FOR-Android)はすでに存在します。だから、私はあなたが会うように私はこのエラーを得ました:

Error:Could not find method Android() for arguments [org.ros.gradle_plugins.RosAndroidPlugin$_apply_closure2_closure4@7e550e0e] on project ‘:xxx’ of type org.gradle.api.Project.

そのため、プロジェクトに複数のモジュールがあり、さらにそれらのインポート方法が異なる場合や、種類が異なる場合(.jar/.aarパッケージまたは単なるJavaライブラリのプロジェクト)に、この問題が発生します。そして、各サブプロジェクトのコンパイルバージョン、ライブラリの依存関係などの設定をメインプロジェクトと互換性のあるものにすることは本当に頭痛の種です。

私は私の問題を解決しただけでこの手順に従ってください:

①app/libsに.aarパッケージをコピーします。

②app/build.gradleファイルにこれを追加します。

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

③.aar依存関係を適用したいモジュールのadd build.gradleファイルにこれを追加します(私の状況では、これを私のapp/build.gradleファイルに追加するだけです)。

dependencies {
    compile(name:'package_name', ext:'aar')
}

それで、もし可能なら、モジュール依存を.aarパッケージとしてエクスポートし、それからこの方法でインポートしてください。あなたのメインプロジェクト。とにかく、私はこれが良い提案になることを願っています、あなたが私と同じ状況を持っていればあなたの問題を解決するでしょう。

1
frank jorsn

私の問題は私のapp.gradleの中にありました。引っ越したときにこの問題に遭遇した

apply plugin: "com.Android.application"

上の行から下の行まで

apply from:

プラグインをトップに戻して、ヴァイオラを弾いた

私の正確なエラー

Could not find method Android() for arguments [dotenv_wke4apph61tdae6bfodqe7sj$_run_closure1@5d9d91a5] on project ':app' of type org.gradle.api.Project.

私のapp.gradleの先頭はこのようになりました

project.ext.envConfigFiles = [
        debug: ".env",
        release: ".env",
        anothercustombuild: ".env",
]


apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
apply plugin: "com.Android.application"
0
Jacksonkr