如何在 Android Studio 中导入模块而不创建副本
Posted
技术标签:
【中文标题】如何在 Android Studio 中导入模块而不创建副本【英文标题】:How to Import Module without creating copy in Android Studio 【发布时间】:2015-11-30 11:19:10 【问题描述】:我正在使用 android Studio 1.3.1 并尝试将库模块添加到现有的 android 应用程序。库模块在 git 存储库中可用。我可以导入该模块,但它会在现有应用程序中创建一个副本。因此,我无法提取模块中的更新。
我确信有一种方法可以从工作室中的现有 Android 项目中导入外部库。
我发现以下与我的疑问相关的 *** 帖子 -
-
How to import a Module on Android Studio 0.5.1?
Android Studio 0.8.1 Creating Modules without copying files?
两者似乎都不适合我。我还从其他用户那里找到了几个comments,他们说它在最新版本的工作室中也不适用于他们。
这是我尝试过的事情
// in settings.gradle
include ':libraryName'
project(':libraryName').projectDir=new File('/path/to/library')
// in build.gradle
compile project(':libraryName')
我也试过用这个this url
感谢任何帮助。谢谢
【问题讨论】:
How to reference without copying a library project on Android Studio?的可能重复 【参考方案1】:你在正确的轨道上。只需确保您的库位于一个文件夹中,然后您就可以像这样指定库路径..
在 settings.gradle 中
include ':libraryName'
project (":libraryName").projectDir = new File("../FolderName/libraryName")
如果您的库位于 2 个文件夹中,则像这样指定路径...
include ':libraryName'
project (":libraryName").projectDir = new File("../../FolderName/libraryName")
这让我可以在不复制的情况下使用该库。
【讨论】:
【参考方案2】:你的路径是相对的还是绝对的?
如果你想引用相对于当前项目的其他模块,试试这个:
include ':libraryName'
project(':libraryName').projectDir = new File(rootProject.projectDir, '../path/to/library')
【讨论】:
【参考方案3】:设置 projectDir 并通过设置 rootProject.name 它也将显示在您的 IDE 项目窗格中:
// in settings.gradle
include ':app'
rootProject.name = "Project name"
include ':libraryName'
project (":libraryName").projectDir = new File("../path/to/library")
// in build.gradle
compile project(':libraryName')
【讨论】:
效果很好,但不是编译使用实现【参考方案4】:您是否尝试过在项目下创建一个文件夹“libs”并将 .jar 文件复制到该文件夹并尝试编译 libs 文件夹?这似乎通常对我有用。我认为这是这个问题的第一个解决方案
How to import a Module on Android Studio 0.5.1?
【讨论】:
以上是关于如何在 Android Studio 中导入模块而不创建副本的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android Studio Arctic Fox 2020.3.1 中导入模块?
如何在 Eclipse 中导入 Android Studio 项目?
如何在使用库的eclipse中导入android studio项目?
如何在 Android Studio 中导入现有项目时设置 gradle home