2

我有 2 个 android 项目: Tower 和dronekit-android。我尝试同时将两个项目导入 Android Studio。所以我先导入Tower,然后在项目设置窗口导入dronekit-android。(使用文件 -> 项目结构 -> +)

然而,Android Studio 做了一件很不寻常的事情,即它总是将其他项目的所有源代码复制到当前项目的根目录中。如以下屏幕截图所示,其中 diff 窗口中显示的所有文件夹都从dronekit-andorid 复制到 Tower。

在此处输入图像描述

如何更改此行为并在不复制的情况下导入它们?像这样:

在此处输入图像描述

更新:我试图修改我的 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 Studio 很聪明地自动完成它:

//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.

详情请看截图:

错误:未找到 ID 为“com.jfrog.bintray”的插件。

4

2 回答 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')
}
于 2016-06-25T20:55:14.643 回答
1

如果您只是想将另一个项目包含在其中(不复制内容),您可以在“settings.gradle”文件中添加一个条目以指定项目名称以及项目在文件系统上的位置(相对路径是好的):

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

完成此操作后,您只需要导入“主”项目(具有修改的 settings.gradle 的项目)。

于 2016-06-25T16:25:30.687 回答