gpt4 book ai didi

Android Studio : how do 'dependencies' work ? 如何更新库?

转载 作者:搜寻专家 更新时间:2023-11-01 08:31:19 25 4
gpt4 key购买 nike

我是 Android Studio 的新手。

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

我所要做的就是按照他们的说明进行操作,从而在“app gradle file”(在“dependencies”中)中添加以下行:

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

然后点击app gradle文件的Android Studio窗口右上角的“sync”。它工作正常;太棒了!

不过,我真的不明白以下事情:

1) "library:1.4@aar"是什么意思?它是单个库文件吗?它位于文件夹中的什么位置?

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

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

感谢您的帮助!

最佳答案

What does "library:1.4@aar" mean ? Is it a single library file ?

拉一个 AAR file来自 JCenterMaven

在 Maven 项目的情况下,这种依赖性以 pom.xml 格式表示,如下所示

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

如您所见,您的 Artifact ID 为“库”,“1.4”只是一个版本名称。

How does Android Studio know where this library is located on my disk ?

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 依赖项。

比如Gson,对我来说是在

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

if I want to modify something in this library and recompile it ?

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

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

因为那将始终使用 Github 源,而不是您的更改。您需要克隆 repo 并使用 compile project Gradle 的特点。

What does "./gradlew assembleDebug" mean ?

运行 assemble task对于使用 Gradle 包装器的项目的 debug 构建类型。

关于Android Studio : how do 'dependencies' work ? 如何更新库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com