Android Studio: "новый модуль → импортировать существующий проект" и "модуль импорта",

Что у меня:

Четыре независимо работающих модуля Android:

  • MyProjectMainModule, основное приложение-контейнер, прикрепленное к MyProject

  • MyGradleModule, библиотека со всеми необходимыми компонентами, встроенными в процесс gradlew.

  • MyPreGradleModule, библиотека с src/, res/, AndroidManifest.xml и pom.xml, без gradle wrapper

  • MyRawModule, библиотека с src/, res/, AndroidManifest.xml, без pom.xml (обычно рассматривается в проектах Eclipse на основе Ant)

То, что я хотел бы достичь:

Чтобы импортировать все три модуля (т.е. MyGradleModule, MyPreGradleModule, MyRawModule) в MyProject в качестве зависимостей MyProject. Полная структура проекта должна напоминать структуру проекта ниже:

MyProject
|--MyProjectMainModule
|--MyGradleModule
|--MyPreGradleModule
|--MyRawModule

Вопрос:

Реализация всех трех модулей (MyGradleModule, MyPreGradleModule и MyRawModule) имеет разные структуры, каковы наиболее оптимальные способы импорта каждого модуля с минимальными усилиями?

Не могли бы вы подойти к одному из следующих элементов меню Android Studio с каждым модулем в вашем ответе (если вы используете какой-либо):

  • FileImport Module...
  • FileNew Module...Import Existing Project
  • FileNew Module...Android Library

Ответ 1

Вы можете добавить три модуля в один и тот же проект, создав файл settings.gradle в папке MyProject/и добавив к нему модули:

include ':MyGradleModule'
include ':MyPreGradleModule'
include ':MyRawModule'

Затем для каждого модуля настройте зависимости build.gradle для ссылки на другие модули по мере необходимости. Например, добавьте это в MyProjectMainModule, чтобы он использовал вывод, созданный MyGradleModule:

dependencies {
  compile project(':MyGradleModule')
}

Наконец, если ваш проект имеет гетерогенные подмодули, вы можете настроить их структуру, используя закрытие 'sourceSets'. Например, ваш сырой модуль будет иметь конфигурацию, подобную этой:

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
        androidTest.setRoot('tests')
    }
}

Ознакомьтесь с этим разделом руководства Gradle плагина, чтобы узнать, какие параметры конфигурации доступны.

Ответ 2

Это сработало для меня:

  • Откройте проект в Android Studio
  • Загрузите библиотеку (используя Git или ZIP-архив для распаковки)
  • Перейдите в меню "Файл" > "Импортировать модуль" и импортируйте библиотеку в качестве модуля
  • Перейдите в раздел "Файл" > "Структура проекта" > "Модули"
  • Найдите основной модуль проекта, нажмите на него. Он должен иметь несколько андроидных библиотек, таких как: support-v4 и т.д.
  • Нажмите на более зеленую кнопку "+" слевa > зависимость модуля
  • Выберите "ваша библиотека"

Ответ 3

enter image description here Для добавления модуля в Android Studio

  1. File>>New>>Import Module>>select module, нажмите на finish

  2. Перейдите в файл settings.gradle и добавьте имя модуля, как показано ниже, через запятую, т.е. include ':app', ':payUMoneysdk'

  3. Теперь модуль добавлен в проект, см. в корневой папке приложения.

  4. Перейдите к настройке проекта и нажмите на зависимости, нажмите на символ плюс (+) и выберите модуль, нажмите на ok.

  5. Следующий модуль добавлен в build.gradle с проектом реализации имени (': payUMoneysdk')

Здесь я делюсь изображением для вашей справки... я добавил модули PayUmoney и Mobilehelpsdk в мой проект, он работает должным образом..

Ответ 4

Если приведенные выше ответы вам не ясны или вы не уверены, следуйте этим простым шагам.

  1. Перейдите в Файл> Создать> Модуль импорта...
  2. Выберите исходный каталог, в котором находится ваша библиотека или модуль.
  3. Укажите имя модуля или оставьте его по умолчанию, а затем нажмите "Готово", и ваш модуль будет успешно добавлен.

Ответ 5

Добавление модуля в файл Settings.Gradle устранило для меня проблему.

включить ': приложение' include ': Other-Module-Folder'