gpt4 book ai didi

Android gradle java和android子项目

转载 作者:行者123 更新时间:2023-11-29 01:37:54 24 4
gpt4 key购买 nike

我有一个多项目构建,其中一些模块是“纯 java”模块,这些 java 模块输出的 jar 文件被释放。这些 java 模块依赖于 android 库生成的 jar 文件。

有没有办法指定android模块作为java模块的依赖?

项目结构如下:

Root
|
JavaModule
|
build.gradle
|
AndroidModule
|
build.gradle

JavaModulebuild.gradle 是:

apply plugin:'java'
dependencies{
compile project(:AndroidModule)
}

AndroidModulebuild.gradle 是:

apply plugin:'android-library'

如上添加依赖项不起作用,java 模块无法在 AndroidModule 中找到符号。

我猜问题是 AndroidModule 生成了一个 aar 文件,java 插件 不理解。

作为构建的一部分,AndroidModule 生成classes.jar。有没有办法指定对这个 classes.jar 文件的依赖?

最佳答案

您已正确确定需要引用 Android 库项目的 jar 输出。有两种(大概)方法可以做到这一点。

手动方法

只需将 jar 文件复制到父项目中并像从 Android 项目中一样引用它们:

compile fileTree(dir: 'libs', include: ['*.jar'])

即,在项目中创建一个 libs 文件夹,然后简单地将 jar 放到那里。根据这些库的易变性,这可能是最简单也是最简单的方法。

专家方法

如果您的库不断变化,手动复制 jar 很快就会很痛苦。当然你可以使用一些脚本来自动化它,但更好的解决方案是将你的 jar 部署到本地 Maven 存储库。这可以通过标准的 maven-publish Gradle 插件来完成。然后,您将像从 Maven 中心一样引用依赖项,即:

dependencies {
compile 'com.your.module:1.0.+@jar'
}

在此设置中,您构建每个库并将 jar 发布到您自己机器上的本地 maven 存储库(例如),然后设置任何依赖项目以从那里下载二进制文件。

关于Android gradle java和android子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26724287/

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