添加模块时如何阻止Android Studio复制文件?

时间:2016-06-25 00:24:50

标签: android android-studio android-gradle android-studio-2.2

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

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

enter image description here

如何更改此行为并导入它们而不复制?就像这样:

enter image description here

更新:我尝试修改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并添加了另一个项目&所有的子模块都进入它,花了相当长的一段时间我一直希望谷歌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.

请参阅屏幕截图了解详情:

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

如果您只想尝试将另一个项目纳入其中(不复制内容),您可以在&#34; settings.gradle&#34;中添加一个条目。 file指定项目名称以及项目在文件系统上的位置(相对路径正常):

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

完成此操作后,您只需要导入&#34; main&#34; project(具有修改后的settings.gradle的那个)。