如何将一个库项目添加到Android Studio并使用它?(有些问题不会生效) 我尝试在How do I add a library project to Android Studio?或How to import relative project with the Android Studio(not jar)找到答案。 但它不起作用。它还说“检索项目的父项时出错:找不到与给定名称'Theme.Sherlock.Light'匹配的资源。”等
我的sdk工具rev是22。
答案 0 :(得分:22)
我将告诉你如何使用地图样本。
假设您已在Android Studio中导入地图示例,并创建了相应的地图模块。
<强> 1。创建一个android库模块
您需要为GMS创建一个额外的库模块,其中包含地图样本从Google API中编译地图模块所需的所有类。
图书馆项目位于:
$ANDROID_SDK/extras/google/google_play_services/libproject/google-play-services_lib
为此,请转到File
- &gt; Import module
并选择上述位置或图书馆项目的位置。
然后在从现有来源创建模块或从外部模型导入模块之间使用正确的选项。就我而言,它来自现有的来源。
Android Studio检测到src / res目录,到目前为止还不错。
它还会检测库目录,这将为您节省手动导入您在lib /中的任何jar(在我的情况下与google-play-services.jar一样)。
[编辑:实际上它只会节省一半的时间,因为它会创建库但不会在模块依赖项中链接它们]
<强> 2。更新主模块依赖项 - 库模块
现在,棘手的部分是您只创建了模块,而不是作为依赖项链接到您的项目。
请执行此操作,转到File
- &gt; Project structure
- &gt; Modules
在我的案例中选择您的主模块地图,然后转到右侧的dependencies
标签。点击+
和3. Module dependency
。
选择主模块所依赖的模块,然后单击“确定”。
第3。更新主模块依赖项 - Jars
现在由于无法解释的原因, maps 模块中的活动仍无法找到API类。我还必须在Module配置上手动添加google-play-services.jar依赖项(如2.,但选择 Library 而不是 Module dependency );
这一点肯定能用gradle自动化,但我还没有调查过。使用新IDE时,使用的工具越少,跟踪配置错误就越容易。我建议一次只添加一个工具:)
答案 1 :(得分:7)
以下步骤适用于Android Studio 1.3.1
mylib1属于独立项目。
在我的项目中需要mylib1
1)编辑settings.gradle文件
include ':app'
include ':mylib1' ##New line
project(':mylib1').projectDir = new File('../../android_lib_repo/mylib1/app/') ##New line
其中 ../../ android_lib_repo / mylib1 是项目目录
其中 ../../ android_lib_repo / mylib1 / app / 是模块目录
2)编辑build.gradle文件
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.bouncycastle:bcprov-jdk16:1.46'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
compile project(':mylib1') ##New line
}
答案 2 :(得分:2)
在项目中导入'library'模块后(根据我目前的理解,你的工作区是项目,项目是intellij / Android studio中的模块),
File -> Project structure -> Modules
或select the project and hit F4.-> Modules
如果您仍然发现项目中的错误说无法从“库”项目中找到类,那么请确保在“库”模块依赖项中检查模块前面的“导出”复选框。希望有所帮助:)
答案 3 :(得分:1)
对于任何可能只是发现这一点的人。如果需要访问库项目的资源(与ABS一样),请确保将库项目/模块添加为“模块依赖项”而不是“库”。
答案 4 :(得分:1)
如果您使用在Studio中创建的项目或从ADT导出到Gradle的项目,则需要编辑build.gradle以更改依赖项。 “项目结构”对话框中的UI仅影响IDE中的依赖项,但将使用不具有依赖项设置的Gradle。
编辑build.gradle将使Studio重新加载它,更新两个地方的依赖项。
有关依赖项和多模块设置的更多信息(如果您还要将模块添加为依赖项),请阅读http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-Libraries-and-Multi-project-setup
答案 5 :(得分:1)
不建议通过GUI编辑库依赖项,因为它不会将这些更改写入build.gradle文件。所以你的项目不会从命令行构建。 我们应该直接编辑build.gradle文件,如下所示。
例如,给出以下结构:
MyProject的/
我们可以识别3个项目。 Gradle将使用以下名称引用它们:
:app项目可能依赖于库,这是通过声明以下依赖项来完成的:
dependencies {
compile project(':libraries:lib1')
}