【发布时间】:2020-02-27 01:05:41
【问题描述】:
我的 Android 项目包含一个作为 AAR 文件提供的库。
包含本地 AAR 文件有多种选择。
我可以声明一个文件依赖:
implementation files('libs/mylib.aar')
或者我可以将 AAR 放入另一个模块,然后使用项目依赖项:
implementation project(':mylibmodule')
但是,我想指定我的库的确切版本:
mylib:1.0.0
不幸的是,我不知道如何在不使用远程存储库的情况下指定版本。 请注意,我确实不想将库上传到 JitPack、MavenCentral 或类似网站。 我只想指定本地 AAR 文件的版本。
更新
AAR 文件是一个 Zip 文件,内容如下:
/proguard.txt
/R.txt
/AndroidManifest.xml
/public.txt
/classes.jar
/res/values/values.xml
请注意,AndroidManifest.xml 包含库的版本。
但是,我假设 gradle 总是需要一个 pom 文件来获取版本信息。
【问题讨论】:
-
您只能使用 maven 存储库(公共或私有)来执行此操作。 aar 文件不包含 pom 文件中有关版本和依赖项的信息。
-
这并不完全正确,因为 AAR 在
AndroidManifest.xml中包含版本名称。但是,我知道 gradle 需要一个用于版本控制的 pom 文件。 -
@Mike76 让你回答这个问题,你是在 maven 中指定库版本吗?因为在那个包位置 com.anyilbray:anymodule:
,可能是一堆版本。 “版本”是指确切的文件。现在让我们检查依赖项是如何工作的,您只需指定文件名,其中版本包含在 NAME 中。 -
对不起,我不明白。你的意思是版本应该等于文件名?
标签: android gradle android-gradle-plugin dependency-management aar