programing tip

인수에 대한 android () 메소드를 찾을 수 없습니다.

itbloger 2020. 11. 20. 08:41
반응형

인수에 대한 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'
    

    잘못된 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'
    

    여러분. .aar 패키지를 내 프로젝트로 가져 오려고 할 때 이전에 같은 문제가 있었지만 불행히도 .aar 패키지를 내 프로젝트의 모듈 종속성으로 만들기 전에 두 개의 모듈이있었습니다 (하나는 ROS-ANDROID-CV- BRIDGE , 하나는 이미 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.
    

    So, it's the painful gradle-structure caused this problem when you have several modules in your project, and worse, they're imported in different way or have different types (.jar/.aar packages or just a project of Java library). And it's really a headache matter to make the configuration like compile-version, library dependencies etc. in each subproject compatible with the main-project.

    I solved my problem just follow this steps:

    ① Copy .aar package in app/libs.

    ② Add this in app/build.gradle file:

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

    ③ Add this in your add build.gradle file of the module which you want to apply the .aar dependence (in my situation, just add this in my app/build.gradle file):

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

    So, if it's possible, just try export your module-dependence as a .aar package, and then follow this way import it to your main-project. Anyway, I hope this can be a good suggestion and would solve your problem if you have the same situation with me.


    My issue was inside of my app.gradle. I ran into this issue when I moved

    apply plugin: "com.android.application"
    

    from the top line to below a line with

    apply from:
    

    I switched the plugin back to the top and violá

    My exact error was

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

    The top of my app.gradle now looks like this

    project.ext.envConfigFiles = [
            debug: ".env",
            release: ".env",
            anothercustombuild: ".env",
    ]
    
    
    apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
    apply plugin: "com.android.application"
    

    참고URL : https://stackoverflow.com/questions/37250493/could-not-find-method-android-for-arguments

    반응형