Как остановить Android Studio от копирования файлов при добавлении модуля?

Обновить

November 2018

Просмотры

335 раз

2

У меня есть 2 андроид проекты: башня и dronekit-андроид. Я пытаюсь импортировать как проекты в Android Studio одновременно. Поэтому я сначала импортировать башню, а затем импортировать dronekit-андроид в окне настроек проекта. (Использование File -> Структура проекта -> +)

Тем не менее, Android Студия сделал что-то очень необычное, а именно, он всегда копировать все исходные коды из другого проекта в корневой каталог текущего проекта. Как показано на следующем рисунке, в котором все папки, показанные в окне различий копируются из dronekit-Andorid в башню.

введите описание изображения здесь

Как изменить это поведение и импортировать их без копирования? Как и в этом:

введите описание изображения здесь

UPDATE: Я попытался изменить свой settings.gradle включить другой проект с подмодулями:

//Android projects
include ':Android'
project(':dronekit-android').projectDir = new File('/home/peng/git-drone/dronekit-android')

но я не могу импортировать его из-за этой ошибки:

Error:Project with path ':dronekit-android' could not be found.

есть что-то не так с установкой?

UPDATE2: Я в конечном итоге редактировать setting.gradle вручную и добавить другой проект & все его подмодули в нее, занять некоторое время я ожидал Google Android Студия умна , чтобы сделать это автоматически:

//Android projects
include ':ServiceApp', ':StarterApp'
include ':ClientLib'

//Library projects
include ':Mavlink'
include ':UsbSerialLibrary'

project(':UsbSerialLibrary').projectDir = new File('dependencyLibs/usb-serial-for-android/UsbSerialLibrary')
project(':Mavlink').projectDir = new File('dependencyLibs/Mavlink')
project(':StarterApp').projectDir = new File('samples/StarterApp')

Но потом я попал в другую проблему:

Когда я синхронизировать проект, я получил эту ошибку:

Error:Plugin with id 'com.jfrog.bintray' not found.

Смотрите скриншот для деталей:

Ошибка: Плагин с идентификатором «com.jfrog.bintray» не найден.

2 ответы

2

Вы забыли включить :dronekit-android:

include ':Android',':dronekit-android'
project(':dronekit-android').projectDir = new File('<fullpath>/<projectname>/<module folder>')

И в вашем build.gradle

dependencies {
    compile project(':dronekit-android')
}
1

Если вы просто пытаетесь включить другой проект в одну (без копирования вещей более) вы можете добавить запись в «settings.gradle» файл, чтобы указать имя проекта и где в файловой системе проект (относительный путь Хорошо):

project(':project-name').projectDir = new File('path-to/project-name')

После этого вам просто нужно импортировать «основной» проект (один с модифицированным settings.gradle).

Связанные вопросы