我是 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 ?
在 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/