【问题标题】:Add an android library to the default list of libraries in Studio/SDK在 Studio/SDK 的默认库列表中添加一个 android 库
【发布时间】:2016-12-31 04:41:07
【问题描述】:

首先,为了消除任何疑问,我知道如何将库添加到 android 项目中。我的问题是,我想在我的 android 工作室的默认库列表中添加一个库。

让我用一个例子来解释。假设我想将 Glide 库添加到我的项目中。首先,我必须去 glide github 页面,然后从那里复制 compile 'com.github.bumptech.glide:glide:3.7.0' 文本并粘贴到我的 build.gradle 文件中。然后 android studio 将通过 Internet 下载该库。所以每次我想在我的任何项目中使用 Glide 库时,我都必须这样做。我想要的是,我想在我可用的库的默认列表中包含一个特定的库,如 Glide

所以在这里,我想在其中包含我的库项目,以便我可以在我的任何项目中使用它。提前感谢您的阅读。

【问题讨论】:

标签: android android-studio android-library


【解决方案1】:

有一种方法可以自动将库添加到每个新项目/模块中。 Android Studio 目录中有一个包含模板的文件夹。寻找:

..\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root

在这个目录下有一个文件:

build.gradle.tfl

根据您的需要修改它。
示例:

dependencies {
    <#if dependencyList?? >
    <#list dependencyList as dependency>
    compile '${dependency}'
    </#list>
    </#if>
    compile fileTree(dir: 'libs', include: ['*.jar'])
<#if WearprojectName?has_content && NumberOfEnabledFormFactors?has_content && NumberOfEnabledFormFactors gt 1 && Wearincluded>
    wearApp project(':${WearprojectName}')
    compile 'com.google.android.gms:play-services:+'
</#if>
<#if unitTestsSupported>
    testCompile 'junit:junit:${junitVersion}'
</#if>
    compile 'com.github.bumptech.glide:glide:3.7.0'
}

如您所见,Glide 库已添加到最后。

当这个文件被修改时,每个新的Android Phone &amp; Table module 都会包含这个库。

当然,没有什么可以阻止您添加自己的模块或项目模板。

【讨论】:

  • 但是,这样做会将 Glide 库或任何库添加到我的所有项目中。
  • 这是我回答的第一行。 Gilde 以这种方式添加到每个新项目中。
【解决方案2】:

恐怕没那么简单。

我查看了最新的 Android Studio 源代码(分支master)和此对话框的代码(MavenDependencyLookupDialog.java)。正如您通过查看this line 所看到的那样,依赖项保存在ImmutableList 中并且是硬编码。只有不支持的依赖项。

支持依赖项保存在不同的位置 (RepositoryUrlManager.java)。但它们也是硬编码

你有三个选择:

  • 更改模块模板,如我的previous answer 中所述
  • 创建一个Live template 以自动输入glide,Intellij 会提示您插入 glide 依赖项
  • 更改 Android Studio 源代码,提出 Pull Request 并说服负责人考虑您的更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    相关资源
    最近更新 更多