gpt4 book ai didi

java - 如何在 Eclipse 和 Android Studio 之间共享 Java 源代码?

转载 作者:行者123 更新时间:2023-12-01 09:15:18 25 4
gpt4 key购买 nike

我有一个 Eclipse 代码项目(纯 Java 和库),我想继续在 Eclipse 下添加维护。
同时,我想将此项目用作 Android Studio 项目的一部分。


我不喜欢将 Eclipse 项目“一次性导入”到 Android Studio 中(如 here 和我看到的许多其他 SO 答案中所述),而是将 Eclipse 项目添加到 AS 项目中,所以当我更改Eclipse项目时,它会反射(reflect)在AS项目中。(如果有帮助的话我可以将Eclipse项目迁移到Gradle)。


如果这不切实际,我会选择下一个选项:让 AS 项目使用 Eclipse 项目的源文件夹。

可行吗?


编辑:以增加评论和回答的清晰度:我所指的 Java 代码是 Eclipse 项目的一部分。为了便于讨论,人们可以假设它是一个常见的“逻辑部分”,为此我将在 Eclipse 上制作桌面 GUI 和图形,以及在 AS 上制作移动 GUI 和图形。java 逻辑部分是一个公共(public)核心,我围绕它进行构建。

最佳答案

In parallel, I would like to use this project as part of an Android Studio project.

我假设这个项目产生一个库;否则,我不确定你会在 Android 项目中用它做什么。那么问题就变成了:这个库是否被其他项目使用,与您计划的 Android Studio 项目分开?

如果答案是“是的,这个库有很多客户”,那么您真的应该考虑将该库作为 Artifact 发布到存储库。这可以是您自己的开发计算机上的存储库,也可以是您团队的本地服务器上的存储库,也可以是公共(public)存储库(例如,如果这是一个开源项目)。您的每个客户可能需要此库的不同版本,因此将库的不同版本发布为版本化 Artifact 似乎很有用。

如果答案是“好吧,实际上,这个 Java 代码的 JAR 可以单独使用,例如从命令行使用,但作为一个库,唯一的客户端是 Android Studio 项目”,那么您可以设置一个混合Android Studio/Eclipse 项目,将 Eclipse 项目移动到 Android Studio 项目中,这样它就可以作为库模块。

关键是向 Eclipse 项目/AS 模块添加一个 build.gradle 文件,该文件教 Gradle/AS 如何构建 Eclipse 项目。例如,如果您具有 AS 之前的 Android 项目使用的文件结构,则可能有一个像这样的 android 闭包:

android {
compileSdkVersion 19
buildToolsVersion "21.1.2"

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')

// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}

您还需要将此模块添加到项目根目录中的 settings.gradle 文件中。此时,其他模块可以使用依赖项中的compile project(':whatever-you-call-it')来拉入您的库。

话虽这么说,正如 sschuberth 指出的那样,Android Studio 支持纯 Java 模块,至少从 Android Studio 2.2 开始是这样。我会走这条路,因为两个 IDE 会占用大量系统资源,因为 Eclipse 和 Android Studio 都不完全符合“svelte”的条件。

关于java - 如何在 Eclipse 和 Android Studio 之间共享 Java 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592804/

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