如何在Android Studio中将项目添加为库?

6

我该如何在Android Studio中将一个项目(例如RootTools)作为库添加到另一个项目中?

我使用的是Android Studio 0.8.1,不知道如何添加另一个项目(文件夹),我查找了很多有关导入jar文件的信息,但这并不是我的情况。

谢谢您的帮助。


你是否将项目存储在Git仓库中? - WarrenFaith
不,我有一个本地文件夹,其中一个是我的项目,由Android Studio生成,另一个是从github存储库下载的项目:https://github.com/Stericson/RootTools - Víctor Martín
转到文件>>项目结构>>在左侧面板中选择模块,然后单击您的主项目,现在转到依赖项选项卡并单击右侧的加号图标,选择模块依赖项,从列表中添加您的库项目。完成后,您可以在依赖项列表中看到您的库项目,现在勾选左侧的复选框并应用即可。 - Haresh Chhelana
我已经导入了项目,但是在我的项目中,当我去选择模块时,它没有显示任何内容。 - Víctor Martín
2个回答

4
我建议手动导入你的库,而不是使用“导入模块”,因为它会 1)改变库的目录结构;2)你可以捕捉到错误(就像我一样),因为Android Studio仍然处于beta版。
要完成这个任务: 1)将你的库文件夹复制到/libraries下。 2)在刚刚复制的库文件夹中创建build.gradle文件,内容类似于以下内容:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}
apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }

    sourceSets {
        main {
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']

            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

3)将include ':libraries:RootTools'添加到您的settings.gradle

4)在app模块的build.gradle下添加依赖项:

dependencies {
    compile project(':libraries:RootTools')
    ...
}

5) 运行./gradlew assembleDebug 命令来组装您的项目,包括库。


当我完成所有这些步骤时,Gradle构建会在清单文件的多个地方失败。每次我引用库项目的源或资源时,都会出现"找不到与给定名称匹配的资源(位于“x”的位置,并具有值“@string/x_x”)"。寻找解决方案已经很长时间了... - Forke

2
如果您想手动完成,可以按照以下步骤操作:
  1. 在顶层创建一个名为“libraries”的文件夹。虽然不是必需的,但当您需要添加更多库时,它将帮助您建立良好的结构。
  2. 将项目文件夹复制到“libraries”下面。
  3. 打开settings.gradle并添加该项目。

include ':libraries:RootTools'

  1. 打开您的项目的build.gradle,而不是顶层的build.gradle,并添加依赖项。
dependencies {
    compile 'com.android.support:support-v4:19.1.+'
    compile project(':libraries:RootTools')
}
然后运行run或者/gradlew assemble
app 
- build.gradle //  add dependency
libraries
- RootTools
settings.gradle // add project

错误:(24,0)在项目“:app”中找不到路径为“:libs:RootTools”的项目。我不知道为什么? - Víctor Martín
我去上传截图,但我会先尝试将其放在与settings.gradle相同的级别上,就像你说的那样。谢谢。 - Víctor Martín
我有两个build.gradle文件。一个在app文件夹内,另一个在高层级别,与settings.gradle相同。我应该将compile project(':libraries:RootTools')放在哪个文件中? - Víctor Martín
完成。现在,我遇到了这个错误 --> 错误:找不到名称为“default”的配置。 - Víctor Martín
1
让我们在聊天中继续这个讨论 - Orhan Obut
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接