gpt4 book ai didi

android-studio - 如何使用 Android Studio Arctic Fox 将 Android 库 aar 作为模块导入?

转载 作者:行者123 更新时间:2023-12-04 07:18:16 27 4
gpt4 key购买 nike

我曾经能够 import library aar files as modules 并且他们一直在完美地工作。我不知道如何使用最新版本的 Android Studio 北极狐来做到这一点。任何人都可以提供一个提示吗?
我可以按照 the official instructions 通过在 build.gradle 中添加以下内容来添加 aar 作为依赖项:

implementation files('libs/myLibrary-release.aar')
不幸的是,这将需要依赖的应用程序(即在其 build.gradle 中使用上述行来使用库的应用程序)知道 myLibrary 使用了哪些外部库并添加所有依赖项。例如,如果 myLibrary 有 30 个依赖项,例如“implementation 'joda-time:joda-time:2.10.5'”,则每个依赖的应用程序都必须具有这 30 个依赖项。如果 myLibrary 更新了新的依赖项,所有依赖的应用程序也需要添加它。最糟糕的是 the app can build and start fine without these dependencies but will crash at runtime when a missing dependency is needed

最佳答案

我建议嵌入所有 myLibrary myLibrary 内部的依赖关系的 AAR 文件。
嵌入非常简单 - 下载所有 myLibrary 的所有 AAR 和 JAR的依赖,保存在lib文件夹并以以下形式添加新的本地依赖项:

implementation files('libs/some-dependency.jar')
您确实需要担心使用您的 AAR 的应用程序中的重复类定义.
例如,如果您使用 joda-time图书馆和您的消费者也使用 joda-time ,消费者的构建将失败,因为 joda-time库被编译两次。
解决方案是通过将所有类的类路径更改为不会与您的消费者应用程序的依赖项冲突的唯一类路径来隐藏您的依赖项。
例如,类 org.joda.time.DateTime将转换为 just.a.unique.prefix.org.joda.time.DateTime .
我在行动中看到过阴影,但我缺乏这方面的经验。
但请查看以下指南以帮助您:
https://imperceptiblethoughts.com/shadow/

关于android-studio - 如何使用 Android Studio Arctic Fox 将 Android 库 aar 作为模块导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68656587/

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