Я пытаюсь добавить в свой проект зависимость от Android Asynchronous Http Client. Итак, в проекте есть два файла build.gradle.
Насколько я понимаю, существуют разные зависимости:
- Тот, который определен на корневом уровне build.gradle (Project: My-app)
- Один внутри скрипта сборки build.gradle (Project: My-app)
- Другой - build.gradle (Модули: приложение)
Этот вопрос касается репозиториев для зависимостей buildScript, объясните немного о первых двух типах.
Также build.gradle (Project: My-app) говорит
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Поэтому я предполагаю, что код зависимости Android Asynchronous Http Client должен быть добавлен в build.gradle (Module: app).
Было бы здорово, если бы кто-то мог дать четкое представление обо всем этом для лучшего понимания.
android
android-studio
build.gradle
Анил Бхаскар
источник
источник
build.gradle(Modules:app)
или перейти туда,File -> Project Structure -> Modules -> (Choose project you want to add library) -> Dependencies
где вы увидите зеленый крестик, нажав на него, выберитеModule Dependency
и добавьте библиотекуFailed to find: com.loopj.android:android-async-http:1.4.5
почему он не может загружаться напрямую, я также установил прокси. Я загрузил файл jar и попробовал вручную, но так какFile Repository
это правильный путь.Project Structure
перейдитеModules
и выберите свой проект. Там вы увидите файлgreen cross sign
. При нажатии на это откроетсяNew Module
окно. Здесь вы выбираете для импорта свою библиотеку. Если у вас есть.jar
файл, выберите нижеimport .JAR or .AAR package
. В противном случае скопируйте свою банку вlibs
папку иModule:app
добавьте эти зависимости:dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/your_jar_file.jar') }
Ответы:
build.gradle(Project:My-app)
Каждый проект содержит файл
top-level gradle file
. Обычно он содержитcommon configs
для всехmodules
. Что бы в это ни входилоtop-level gradle
, это повлияет на всехmodules
.пример:
build.gradle(Module:app)
У всех
modules
есть определенныйgradle
файл . Что бы ни было включено в этотgradle
файл, это повлияет только на то,module
что включено.пример:
источник
Это немного сбивает с толку, потому что Android Studio по умолчанию показывает оба
build.gradle
файла рядом друг с другом (при использовании представления Android).Если вы переключитесь в представление проекта, вы сможете увидеть фактическую структуру и расположение различных
build.gradle
файлов.build.gradle
(Проект: MyApplication) файл находится в корневой папке проекта и его параметры конфигурации применяются к каждому модулю в проекте. Модуль - это обособленная часть более крупного проекта. В многомодульном проекте эти модули выполняют свои собственные задачи, но работают вместе, чтобы сформировать весь проект. В большинстве проектов Android есть только один модуль - модуль приложения.build.gradle
(Module: приложение) файл здесь находится вapp
папке. Его настройки сборки применяются только к модулю приложения. Если бы был другой модуль, то у этого модуля тоже был бы свойbuild.gradle
файл. В качестве примера я создал проект библиотеки с тремя модулями: модулем библиотеки, модулем демонстрационного приложения и другим модулем приложения, который я планирую использовать для тестирования. У каждого из них есть своиbuild.gradle
файлы, которые я могу настроить.В базовом проекте почти все, что вам нужно отредактировать, будет в
build.gradle
файле модуля приложения . Вы можете запомнить это так:дальнейшее чтение
источник
В отношении взаимосвязи двух
gradle
файлов hrskrs дал очень четкое объяснение , Я сделаю некоторые дополнения об этом.если в вашем проекте есть только один модуль (например, приложение ), преимущество top build.gradle (Project: My-app) не очень очевидно. потому что вы можете настроить все в build.gradle (Module: app) о модуле и изменить только один файл при обновлении в следующие дни。
но если в вашем проекте 5 модулей, и случилось так, что они имеют одинаковую зависимость A , если вы не используете верхний build.gradle (Project: My-app), вам нужно поддерживать 5 файлов в следующие дни.
кстати, build.gradle (Module: app) может перезаписывать build.gradle (Project: My-app) .
Такой дизайн может улучшить ремонтопригодность приложения.
источник