【问题标题】:How to import Android library module (AAR) using gradle cli如何使用 gradle cli 导入 Android 库模块 (AAR)
【发布时间】:2019-10-16 10:11:42
【问题描述】:

我正在开发 AAR 格式的 Android 库模块。我发现每次需要在 Android 示例应用程序上测试库更改时,都必须通过 Android Studio 向导手动导入模块非常麻烦。我改变了使用符号链接的方法,并将库端生成的 AAR 与示例应用端的 AAR 链接起来,并通过 Android Studio 构建和同步 Gradle。

但是,这个过程仍然不是最好的,因为我需要手动单击 Studio 上的按钮来实现这一点。我想要的是使用 Gradle CLI 和/或 bash 编写一个简单的脚本,它允许我从应用程序方面将模块从某个目录导入到应用程序中,并在导入后同步应用程序的 Gradle。

这可能吗?谢谢。

【问题讨论】:

    标签: bash android-studio android-gradle-plugin aar gradlew


    【解决方案1】:

    您不需要每次都导入库模块。将您的库作为模块之一,并链接应用程序和库之间的依赖关系。

    确保该库列在 settings.gradle 文件的顶部,如下所示的名为“my-library-module”的库:

    include ':app', ':my-library-module'
    

    打开 app 模块的 build.gradle 文件,在 dependencies 块中添加一个新行,如下面的 sn-p 所示:

    dependencies {
        implementation project(":my-library-module")
    }
    

    并使用命令行构建。

    gradlew assembleDebug
    

    https://developer.android.com/studio/projects/android-library

    【讨论】:

    • 我的意思是,如何首次使用命令行选项而不是 Android Studio 导入模块向导将库从库目录导入应用程序的库目录。每次进行更改时都需要重新导入库,否则您将看不到应用程序端的更改,这就是为什么我使用符号链接方法来避免这种情况。
    • 如果库作为项目依赖包含,那么每次库的源代码发生变化时都会构建它。
    • 这不是真的,因为您已经将 AAR 导入到应用程序的库目录中,并且此 AAR 文件未指向库新生成的 AAR,它位于其自己的 Android 项目(和目录)中。因此,每次您编辑库并构建它时,您都会获得一个新的 AAR,它独立于应用程序已有的 AAR。总之,更新库的 AAR 不会更新应用程序的 AAR。随意尝试一下。
    • 创建一个具有“您的库源代码”的 android 库模块,然后“您的应用程序依赖此库项目”将使用您库代码中的最新更改。
    • 已经多次尝试过这种方法,但正如我之前所说,当您在不将 AAR 重新导入应用程序的情况下同步应用程序的 gradle(同步您的 AAR 的 gradle)时,您永远不会获得最新的更改。如果这种方法有效,我就不会费心写这个线程了。不过,我非常感谢您的帮助,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多