Configuração do Android Studio Gradle com o nome 'padrão' não encontrado


181

Estou tendo problemas ao compilar meu aplicativo com o Android Studio (0.1.5). O aplicativo usa 2 bibliotecas que incluí da seguinte forma:

settings.gradle

include ':myapp',':library',':android-ColorPickerPreference'

build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Ao compilar, recebo esta mensagem:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

Você poderia me ajudar com esta mensagem? Obrigado!


5
todos os projetos de biblioteca declarados em settings.gradle configuraram corretamente os arquivos build.gradle nas raízes do projeto? também: library e: android-ColorPickerPreference precisam estar em diretórios no mesmo nível em sua estrutura de diretório que o arquivo settings.gradle?
speedynomads

Esse problema ocorreu comigo quando eu não tinha um arquivo build.gradle em um dos meus projetos de biblioteca. A criação deste arquivo fez com que o erro desaparecesse.
IgorGanapolsky

No meu caso, um dos arquivos de configuração do gradle está ausente.
Zar E Ahmer

Como criar um arquivo gradle.build ... também estou enfrentando o mesmo problema?

Respostas:


82

No meu caso, depois de compilar com gradle tasks --info, o log estava lá:

Avaliando o projeto ': libraries: VolleyLibrary' usando o arquivo de construção vazio.

Portanto, ele não conseguiu encontrar o arquivo build.gradle da biblioteca. Razão é a estrutura da pasta.

isso foi

-libraries
--volley
---VolleyLibrary

Isto é suposto ser

-libraries
--VolleyLibrary

Como você conseguiu avaliar ': libraries: VolleyLibrary'? Como é essa linha no seu arquivo build.gradle?
IgorGanapolsky

dependências {compile ': libraries: VolleyLibrary'} Deve ser algo como isto e nada mais.
precisa saber é o seguinte

1
De acordo com o seu exemplo de código acima,: As bibliotecas devem ser capitalizadas.
IgorGanapolsky

3
Como você compila com "tarefas de classificação - informações"?
toddmo

8
./gradlew tasks --infoisso mostrará as informações de todas as tarefas. Eu acho que isso seria útil para descobrir o que está errado.
srain

60

Eu esqueci de puxar todos os submódulos. Então meu

compile project(':something')

não pôde ser resolvido.

Solução

git submodule update --init

2
Por favor, explique em que pasta i deve executar este comando - pasta do projeto ou pasta submodule
Ajith Memana

1
este deve ser uma resposta aceita. enganosa mensagem de erro na maioria dos casos, significa que você esqueceu de submódulos clone
vigilancer

1
No meu caso, eu esqueci de remover o submódulo do arquivo settings.gradle. Por isso tem cuidado! : D
Yaroslav Havrylovych

20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Use a linha acima no arquivo de classificação do seu aplicativo em vez de

compile project(':android-ColorPickerPreference')

Espero que ajude


19

O procedimento a seguir resolveu meu problema:

  • Vá para as configurações do subprojeto-módulo / biblioteca-módulo. (pressione F4após selecionar o módulo)
  • Clique com o botão direito em Adicionar> Android-Gradle .
  • Adicione build.gradle ao seu módulo.
  • Adicione o seguinte script

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
     }
    
    
      apply plugin: 'android-library'
    
    repositories {
    mavenCentral()
    }
    
    android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"
    
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
    
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    
    }
       } 
    1. adicione include ':yourModuleName'suas configurações.gradle

Quando seleciono as configurações do módulo de projeto da biblioteca, não é uma opção e f4 não faz nada.
precisa

1
@DanielBaughman, esclareça sua consulta, mas caso ainda não consiga encontrar as configurações do módulo, você pode fazer duas coisas: 1) Vá para Arquivo> Importar módulo e siga as etapas, o Android Studio adicionará automaticamente o arquivo build.gradle e adicione também as dependências. 2) Adicione manualmente o arquivo build.grade, escreva o script e seu problema será resolvido.
Ahmad Ali Nasir

1
Obrigado pela ajuda. Na verdade, o que eu fiz foi colocar a pasta que estava importando no projeto - importou o módulo e, nas propriedades do meu projeto, referenciou o módulo de origem que eu tinha como destino a ser importado como a biblioteca, em vez da nova pasta de módulo criada. Eu ajustei essa referência e ela consertou.
precisa

12

Eu também enfrentei esse erro - esqueci de criar o script build.gradle para o projeto da biblioteca.


10

Ainda outra causa - eu estava tentando incluir um módulo em settings.gradle usando

include ':MyModule'
project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')

O único problema foi que acabei de importar o módulo do Eclipse e esqueci de mover o diretório para fora do meu projeto de aplicativo, ou seja, o caminho '../../MyModule'não existia.


Este foi mais ou menos o meu problema também. Eu tinha muitos ../no caminho e não estava apontando para o lugar correto. Isso é especialmente difícil de rastrear, porque o Android Studio / Gradle criará o diretório se ele não existir. Em vez de gerar um erro simples dizendo "Não".
Josh Pinter #

7

Minha solução é simplesmente remover uma linha do arquivo settings.gradle, que representa um módulo que não existe:

include ':somesdk'

e também remova a linha correspondente do build.gradle do projeto principal:

compile project(':somesdk')

6

Eu tive um problema no sub-módulo git ao obter esse erro. Tente executar gradle tasks --infopara obter uma descrição mais detalhada do problema. Eu usei pela primeira vez gradle tasks --debug, o que não foi tão útil quanto --info.


5

Suponha que você queira adicionar uma biblioteca (por exemplo, MyLib) ao seu projeto. Você deve seguir estas etapas:

  1. Prepare sua biblioteca como uma biblioteca Android gradle, se o tipo da biblioteca for Eclipse ADT.
    Para este trabalho, basta importá-lo no Android Studio
  2. Copie a pasta da biblioteca, neste caso a pasta MyLib, e cole-a na pasta principal do projeto. É uma boa prática criar uma nova pasta na pasta principal do projeto e nomeá-la Bibliotecas
  3. Vá para o Android Studio e abra o arquivo Settings.gradle . Lá você deve incluir sua biblioteca no seu projeto principal. Por exemplo include ':MyPrj', 'Libraries:MyLib'. Nota : O diretório atual para esta instrução de inclusão é sua pasta principal do projeto. Se você colar seu projeto em uma pasta, deverá mencionar o endereço em relação ao diretório principal do projeto. No meu caso, colo o MyLib na pasta Bibliotecas . Este nome de bibliotecas não é uma palavra-chave e você pode escolher outros nomes para ela
  4. Abra a página Estrutura do projeto ( Arquivo-> Estrutura do projeto ... ), clique nos módulos, clique no seu projeto principal, vá para a guia dependências, clique em +Escolha a dependência do módulo , as bibliotecas e você pode selecioná-las como quiser

Espero que ajude


para ficar claro, acesse o projeto github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library e verifique sua estrutura! Há um formato antigo do projeto android do +arquivo build.gradle !! Obrigado, @ABFORCE +1
deadfish

Esta postagem me ajudou a importar o OpenCV4Android para o Android Studio, por isso vou garantir esse método.
23415 Craig

5

No meu caso, eu estava usando arquivos Gradle que funcionam no Windows, mas falharam no Linux. O include ':SomeProject'e compile project(':SomeProject')diferenciavam maiúsculas de minúsculas e não foram encontrados.


4

Para mim, faltava a pasta que foi declarada em settings.gradle .


3

Tudo parece bem à primeira vista, mas alguns bisbilhoteiros por aqui encontraram uma resposta que poderia ser útil: https://stackoverflow.com/a/16905808/7944

Mesmo o redator da resposta original não parece super confiante, mas vale a pena segui-lo. Além disso, você não disse nada sobre sua estrutura de diretórios e, portanto, estou assumindo que seja algo padrão chato, mas não tenho certeza.


2

Uma outra causa potencial desse erro preciso: Eu encontrei esse erro foi resolvido comentando algumas bibliotecas não utilizadas na seção dependências build.gradle. Verifique se esses caminhos estão corretos.

Eu olharia bem de perto a entrada do seu projeto de compilação (': android-ColorPickerPreference') no build.gradle - tente comentar o código relacionado e esta linha em build.gradle e veja se ele compila - e então resolva o problema problema de caminho ou biblioteca.


2

Eu tive um problema semelhante e achei uma maneira muito simples de adicionar uma biblioteca ao projeto.

  1. Crie a pasta "libs" na raiz do seu projeto.
  2. Copie o arquivo JAR para essa pasta.
  3. Volte para o Android Studio, localize seu arquivo JAR e clique com o botão direito do mouse, escolha "Adicionar como biblioteca ...", ele solicitará apenas o módulo que você deseja adicioná-lo e escolha "aplicativo".

Agora, no seu módulo "app", você pode usar as classes desse JAR, ele poderá localizar e adicionar declarações "import" automaticamente e compilar tudo bem. O único problema pode ser que ele adiciona dependência com caminho absoluto, como:

compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')

no seu "app / build.gradle".

Espero que ajude!


2

Resolvi esse problema corrigindo alguns caminhos no settings.gradle, como mostrado abaixo:

include ':project-external-module'

project(':project-external-module').projectDir = file('/project/wrong/path')

Eu estava incluindo um módulo externo no meu projeto e tinha o caminho errado para isso.


1

Eu tive esse problema quando colei manualmente o google-play-services_lib no meu projeto. Obviamente, play-services não tinha um arquivo build.gradle. A solução, aprendi, é colocar essa dependência no build.gradle do meu projeto (em vez de copiar o diretório play-services):

    compile 'com.google.android.gms:play-services:4.0.+'

1

Quando importo minha biblioteca manualmente, tive o mesmo problema. Tentei adicionar minha biblioteca com o módulo file> import e ele resolveu meu problema.


1

No meu caso, recebi esse erro quando escrevi incorretamente o nome do módulo da biblioteca (dependência) no build.gradlearquivo.

Portanto, lembre-se de verificar se o nome do módulo está correto.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}

1

Recentemente, encontrei esse erro quando me referi a um projeto que foi iniciado por meio de um submódulo git.

Acabei descobrindo que o build.gradlearquivo raiz do submódulo (um projeto java) não tinha o plugin java aplicado no nível raiz.

Só tinha

apply plugin: 'idea'

Eu adicionei o plugin java:

apply plugin: 'idea'
apply plugin: 'java'

Depois de aplicar o plug-in java, a mensagem 'padrão não encontrado' desapareceu e a compilação foi bem-sucedida.


1

Além disso ... verifique se você possui os arquivos do módulo dentro do seu projeto.

Por exemplo, eu tenho um aplicativo que usa o módulo Volley. Durante meus estudos sobre o desenvolvimento do Android, removi acidentalmente os arquivos que estavam dentro do diretório "volley".

~/git/Sandbox/android/HelloWorld/volley $ ll
total 8
drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../

Acabei de clonar o projeto (veja abaixo) e, em seguida, fiz a sincronização do projeto no Android Studio (Ferramentas> Android> Sincronizar projeto com arquivos Gradle) , e a construção do Gradle terminou normalmente (Gradle Console: canto inferior direito do Android Studio) ;).

~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
Cloning into 'volley'...
remote: Counting objects: 164, done
remote: Finding sources: 100% (164/164)
remote: Total 3222 (delta 307), reused 3222 (delta 307)
Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
Resolving deltas: 100% (307/307), done.
Checking connectivity... done.

~/git/Sandbox/android/AndroidGetJSON $ ls volley
Android.mk      build         build.xml         pom.xml       
proguard-project.txt      src    bintray.gradle  build.gradle
custom_rules.xml  proguard.cfg  rules.gradle          volley.iml

0

Seu build.gradle para o módulo / biblioteca pode ser tão simples quanto:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Se o seu módulo é apenas uma coleção de classes .java POJO.

Se forem classes de modelo / entidade e você estiver usando anotações e tiver algumas dependências, poderá adicioná-las em:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-jdbc:4.48'
}

0

Isso acontece quando você está compilando pasta / projeto importado ou copiado como módulo na pasta de bibliotecas. Esse problema estava surgindo quando não incluí o build.gradlearquivo. quando adicionei o arquivo, tudo correu bem.


0

Para mim, acabou por ser um link simbólico relativo (para o projeto referenciado) que não podia ser usado por série. (Eu estava fazendo referência a uma biblioteca). Esse é um caso bastante ousado, mas talvez ajude alguém no futuro.

Eu o resolvi colocando um link simbólico absoluto.

Antes ln -s ../librarydepoisln -s /the/full/path/to/the/library


0

Também enfrentei o mesmo problema e ele foi resolvido alterando um sinalizador (gradle.ext.set ("allowLocalEdits", true)) para false em settings.xml.


0

Para mim, uma das bibliotecas dependentes não existe no caminho correto, mas a mensagem de erro não aponta essa biblioteca corretamente.

Por exemplo, o que eu perdi é :library-3o erro que ocorre :library-1.

pobre gradle.


-1

Tente adicionar a biblioteca Volley e sincronizar e execute o programa. se alguém tiver puxado e eu tiver uso de vôlei e o erro aparecer como -Android Studio Gradle Configuration com o nome 'padrão' não encontrado, siga a etapa de adicionar a biblioteca de vôlei em seu gradle. espero que ajude. Eu resolvi meu problema dessa maneira.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.