Estou tentando adicionar uma dependência do Android Asynchronous Http Client em meu projeto. Portanto, há dois arquivos build.gradle no projeto.
Pelo meu entendimento, existem diferentes tipos de dependências:
- Um que foi definido no nível raiz de build.gradle (Projeto: My-app)
- Um dentro do buildscript do build.gradle (Project: My-app)
- Outro é build.gradle (Módulos: app)
Esta questão é sobre repositórios para dependências do buildScript, explique um pouco sobre os primeiros dois tipos.
Também build.gradle (Project: My-app) diz
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Portanto, acho que o código de dependência do cliente Http Android Asynchronous deve ser adicionado em build.gradle (Módulo: app).
Se alguém pudesse dar uma imagem clara de tudo isso para melhor compreensão, seria ótimo.
android
android-studio
build.gradle
Anil Bhaskar
fonte
fonte
build.gradle(Modules:app)
ou ir paraFile -> Project Structure -> Modules -> (Choose project you want to add library) -> Dependencies
onde verá um sinal de cruz verde, tocando em escolherModule Dependency
e adicionar sua biblioteca automaticamenteFailed to find: com.loopj.android:android-async-http:1.4.5
porque não é possível baixar diretamente, também configurei o proxy.File Repository
Baixei o arquivo jar e tentei manualmente, mas como ..é correto.Project Structure
acesseModules
e escolha seu projeto. Lá você verá umgreen cross sign
. Clicar nessaNew Module
janela abrirá . Lá você escolhe importar sua biblioteca. Se você tiver um.jar
arquivo, escolha abaixoimport .JAR or .AAR package
. Caso contrário, copie seu jar para alibs
pasta e em seuModule:app
adicione estas dependências:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/your_jar_file.jar') }
Respostas:
build.gradle(Project:My-app)
Cada projeto contém um
top-level gradle file
. Geralmente contémcommon configs
para todosmodules
. O que quer que esteja incluído nissotop-level gradle
, afetará a todosmodules
.ex:
build.gradle(Module:app)
Todos
modules
possuem umgradle
arquivo específico . O que quer que esteja incluído nestegradle
arquivo, afetará apenas omodule
que está incluído no.ex:
fonte
É um pouco confuso porque o Android Studio, por padrão, mostra os dois
build.gradle
arquivos um ao lado do outro (ao usar a visualização do Android).Se você mudar para a visualização Projeto, poderá ver a estrutura real e onde os diferentes
build.gradle
arquivos estão localizados.O
build.gradle
arquivo (Projeto: MyApplication) está na pasta raiz do projeto e suas definições de configuração se aplicam a todos os módulos do projeto. Um módulo é uma parte isolada do projeto maior. Em um projeto com vários módulos, esses módulos têm suas próprias tarefas, mas trabalham juntos para formar o projeto inteiro. A maioria dos projetos Android tem apenas um módulo, o módulo de app.O
build.gradle
arquivo (Módulo: app) aqui está naapp
pasta. Suas configurações de compilação se aplicam apenas ao módulo de app. Se houvesse outro módulo, esse módulo também teria seu própriobuild.gradle
arquivo. Como exemplo , fiz um projeto de biblioteca com três módulos: um módulo de biblioteca, um módulo de aplicativo de demonstração e outro módulo de aplicativo que pretendo usar para teste. Cada um deles tem seus própriosbuild.gradle
arquivos que posso ajustar.Em um projeto básico, quase tudo que você precisa editar estará no
build.gradle
arquivo do módulo do app . Você pode se lembrar assim:Leitura adicional
fonte
Sobre a relação dos dois
gradle
arquivos, hrskrs deu uma explicação muito clara, farei algum suplemento sobre isso.se o seu projeto tiver apenas um módulo (como app ), a vantagem do top build.gradle (Project: My-app) não é muito clara. porque você pode configurar tudo em build.gradle (Módulo: app) sobre o Módulo e apenas modificar um arquivo ao atualizar nos dias seguintes。
mas se seu projeto tem 5 módulos, e acontece que eles têm a mesma dependência A , se você não usa o build.gradle superior (Projeto: My-app) você precisa manter 5 arquivos nos dias seguintes.
a propósito, o build.gradle (Módulo: app) pode sobrescrever o build.gradle (Projeto: My-app) .
Este projeto pode melhorar a manutenção do APP
fonte