44

我一直在試圖將項目導入到Android Studio,這是我卡住的地方,在Stack Overflow上有類似的問題,但它沒有提供解決方案,我的特定錯誤。無法找到方法android()的參數

這是我的錯誤日誌:

C:\<some location>\build.gradle 

Error:(24, 1) A problem occurred evaluating root project '<project name>'. 
> Could not find method android() for arguments [[email protected]] on root project '<project name>'. 
Information:BUILD FAILED 

的搖籃同步消息是:

Error:(24, 0) Gradle DSL method not found: 'android()' Possible causes:

  • The project 'PoojaPeople' may be using a version of Gradle that does not contain the method. Gradle settings
  • The build file may be missing a Gradle plugin. Apply Gradle plugin
  • 我也不太清楚到底在哪這種方法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' 
    
    +1

    你的build.gradle在哪裏?發帖 –

    回答

    120

    您使用了錯誤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' 
    
    +11

    我有同樣的問題,你的回答爲我解決了它。我在新機器上安裝了新版Android Studio,並試圖從此回購庫安裝樣本:https://github.com/googlesamples/android-vision我不確定爲什麼,但在某個時間點導入過程Android Studio自身在頂級build.gradle文件中添加了android()塊,該文件不在原始源文件中。 – Karra

    +1

    我有一箇舊的Eclipse項目自動導入到AS 2.2.2。它報告的是相同的錯誤,但在應用程序文件夾內的build.graddle文件中,Gabriele建議移動該android {}部分。所以,這是別的。 – halxinate

    +8

    我真的希望工作室裏有更多有意義的信息。我討厭Eclipse已經停止;工作室在脖子上是如此痛苦。花費更多時間來實際編譯代碼,而不是實際編寫代碼。 10倍的時間! –

    1

    guys。當我嘗試導入一個.arar包到我的項目中時,我遇到了同樣的問題,不幸的是,在將.aar包作爲項目的模塊依賴項之前,我有兩個模塊(一個是關於ROS-ANDROID-CV-BRIDGE,one is OPENCV-FOR-ANDROID)已經。所以,我得到這個錯誤作爲你們滿足:

    Error:Could not find method android() for arguments [o[email protected]7e550e0e] on project ‘:xxx’ of type org.gradle.api.Project. 
    

    所以,這是痛苦的gradle這個結構導致此問題,當你在你的項目中的多個模塊,更糟的是,他們以不同的方式正在導入或有不同的類型(.jar/.aar包或僅僅是Java庫的一個項目)。在與主項目兼容的每個子項目中進行像編譯版本,庫依賴性等配置是一件非常頭痛的事情。

    我解決我的問題只是按照此步驟:

    ①在app /庫複製.aar包。

    ②在應用程序/文件的build.gradle補充一點:

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

    ③要在其中應用.aar依賴(在我的處境中模塊的外接的build.gradle文件中添加這,只是在我的應用程序/文件的build.gradle添加此):

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

    所以,如果有可能,只是嘗試導出模塊依賴作爲.aar包,然後按照這種方式進口你的主-項目。無論如何,我希望這可以是一個很好的建議,如果你和我有同樣的情況,那麼這個問題就可以解決你的問題。

    相關問題