gpt4 book ai didi

java - android gradle -- 编译两个纯java项目到dex

转载 作者:太空狗 更新时间:2023-10-29 15:08:00 24 4
gpt4 key购买 nike

我有两个纯 Java 项目 (:java:libs:proj1, :java:libs:proj2),它们在构建时会生成两个 classes.jars。 “组合”的两个 jar 包括我想转换成 dex jar 的确切类,即其中包含 classes.dex 的 JAR 文件。

谁能帮我把这两个纯 java 项目转换成一个包含 classes.dex 的 JAR 包?

这是我尝试做的。

1) 创建一个单独的 Android Library 项目(应用插件:'android-library')并包含两个 java 项目作为依赖项。

apply plugin: 'android-library'

dependencies {
compile project(':java:libs:proj1')
compile project(':java:libs:proj2')
}

但是,使用这种方法,它不会生成 dex 文件。相反,它会生成一个“.aar”文件,其中仅包含两个项目的 .class 文件。如果我可以将这个 .aar 文件转换成它的 dex,那么这将是完美的,但显然“android-library”插件没有“dex”任务。

2) 创建一个 Android 项目(应用插件:'android')并将这两个项目作为依赖项包括在内。 (与上面类似,但使用“android”而不是“android-library”)。

apply plugin: 'android'

dependencies {
compile project(':java:libs:proj1')
compile project(':java:libs:proj2')
}

这种方法确实创建了我需要的 dex 文件,但它还包括我的两个纯 Java 项目的所有依赖项。因此,例如,我的 java 项目依赖于 JUnit、BouncyCaSTLe 和其他一些外部 JAva 项目。在 classes.dex 内部,我看到它包含了一切。有没有办法告诉“dex”任务不要“传递地”包含依赖项?

我只想将我的两个java项目直接关联的类放到dex中。我希望有一个简单的方法:(

谢谢,J

最佳答案

会修改compile in dependencies来提供帮助吗?也请检查this

25.4.7。排除传递依赖您可以通过配置或依赖项排除传递依赖项:

示例 25.14。排除传递依赖

关于java - android gradle -- 编译两个纯java项目到dex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913742/

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