繁体   English   中英

Android Studio:“依赖关系”如何工作? 如何更新图书馆?

[英]Android Studio : how do 'dependencies' work ? How to update a library?

我是Android Studio的新手。

我在我的项目中集成了这个库https://github.com/2dxgujun/AndroidTagGroup

我所要做的就是遵循他们的指示,从而在“ app gradle文件”(在“ dependencies”中)中添加以下行:

compile 'me.gujun.android.taggroup:library:1.4@aar'

然后点击应用gradle文件的Android Studio窗口右上方的“同步”。 它工作正常; 太好了!

但是,我不太了解以下内容:

1)“ library:1.4@aar”是什么意思? 它是单个库文件吗? 文件夹在哪里?

2)Android Studio如何知道此库在磁盘上的位置? 我将库文件夹复制/粘贴到了我所有磁盘上的所有Android项目所在的文件夹的根目录下; 这是Android Studio查找库的默认位置吗?

3)如果要修改此库中的某些内容并重新编译,该怎么办? 例如,我将13sp(在styles.xml中)修改为30sp,并使用“ ./gradlew assembleDebug”(如GitHub上所述)重新编译了库,但是即使清理/构建后,它也对我的项目没有影响...为什么? 顺便说一句,“ ./ gradlew assembleDebug”是什么意思?

谢谢你的帮助 !

“ library:1.4@aar”是什么意思? 它是单个库文件吗?

JCenterMaven 提取 AAR文件

对于Maven项目,此依赖关系以pom.xml格式表示,如下所示

<groupId>me.gujun.android.taggroup</groupId>
<artifactId>library</artifactId>
<version>1.4</version>

如您所见,工件标识为“ library”,而“ 1.4”仅为版本名称。

Android Studio如何知道此库在磁盘上的位置?

build.gradle文件中,您将有一个类似的部分。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

allprojects {
    repositories {
        jcenter()
        // mavenCentral()
        // mavenLocal()    // Some variant of these. 'jcenter' is the default
    }

取决于您的操作系统,但是主文件夹中有一个.gradle目录或.m2目录,所有Gradle&Maven依赖项都已下载到该目录中。

例如,格森,对我来说

~/.m2/repository/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar

如果我想修改该库中的内容并重新编译?

可能对于这篇文章来说太宽泛了,但是您将不再使用

compile 'me.gujun.android.taggroup:library:1.4@aar'

因为那将始终使用Github来源,而不是您的更改。 您将需要克隆存储库并使用Gradle的compile project功能。

“ ./gradlew assembleDebug”是什么意思?

使用Gradle包装器为项目的debug构建类型运行assemble任务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM