【问题标题】:Android Studio 0.4.3 Eclipse project without gradle没有 gradle 的 Android Studio 0.4.3 Eclipse 项目
【发布时间】:2014-02-20 16:12:53
【问题描述】:

在此版本之前,无需任何转换即可在 Android Studio 中按原样打开 Eclipse 项目似乎很容易。我更喜欢 Android Studio 环境,但我正在开发一个使用 eclipse 作为主要 IDE 的项目。我宁愿不必仅为这个项目下载 Eclipse 包。

有什么方法可以在 Android Studio 0.4.3 中按原样打开 eclipse 项目,而无需转换为 gradle 构建系统?

编辑: 看来,如果您使用 Android Studio 从源代码控制功能下载,它会让您以这种方式打开项目。但是,如果我已经下载了源代码怎么办?我不想删除它只是为了重新下载它。似乎此选项已从主“导入”向导中消失。

【问题讨论】:

  • 那么我认为您应该开始使用带有 ADT 插件的 Intellij Idea。这将支持这两种类型的 Android 项目。它只是为此而设计的。
  • 我的最终目标是有一天完全迁移到 Android Studio,所以我不想切换到 intellij 的基本 ide。
  • 查看我的答案,在 cmets 中写长字符串感觉不太好。

标签: android eclipse android-studio eclipse-adt android-gradle-plugin


【解决方案1】:

我们强烈鼓励用户转向 Gradle 构建系统,我们正处于缓慢的过程中,使之成为在 Android Studio 中创建项目的唯一方法——你是现在在导入基于 Eclipse 的项目时看到了这一点。我们希望用 Gradle 替换所有其他使用的构建系统,包括 Ant 和 Eclipse 内部构建器,尽管后两者在路线图上更远。

如果您的最终目标是迁移到 Android Studio,那么您可能需要重新考虑并设置一个 Gradle 构建文件。您不必采用 Gradle 风格的多模块项目结构(当前的 Eclipse 导入器通过复制您的项目来强加给您);您可以修改 build.gradle 文件以就地使用 Eclipse 结构化项目。如果您从 Eclipse 中使用该功能将项目导出到 Gradle 构建文件,那么您可以在这方面取得良好的开端。它将以这种方式设置项目,尽管 ADT 中的该功能有点过时,您需要更新构建文件中的 Android Gradle 插件版本和它输出的包装器中的 Gradle 版本。

我认为这实际上可以解决您的问题。 IntelliJ 或 Android Studio 一直无法直接使用 Eclipse 项目——他们总是导入 Eclipse 项目并转换为 IntelliJ 样式的项目,如果您以后更改 Eclipse 项目,则需要重新导入进入 IntellilJ 领域。我猜你真正的愿望是在 Android Studio 中使用 Eclipse 项目,而不需要复制并转换成它喜欢的目录结构。 (顺便说一句,我们最终会改进 Eclipse-to-Gradle 导入以解除此限制)。

准备好 Gradle 构建文件后,您可以在 Android Studio 中处理项目时使用它,并且在 Eclipse 中使用它时仍然拥有 Eclipse 项目文件。最大的缺点是您必须在更改依赖项和项目结构时使它们保持同步,但希望这种情况不会经常发生。即使您没有使用 Gradle,您仍然需要让两个项目保持同步,因此 Gradle 不会花费您任何费用。

说了这么多,并没有直接回答您的问题,即如何在没有 Gradle 的情况下使用您的项目。

一旦你有一个 IntelliJ 构建的项目,你可以在 Android Studio 中打开它并正常使用它而无需迁移到 Gradle(尽管我认为它确实会在打开项目时向你显示一个弹出窗口,建议你这样做;你可以忽略它)。您需要做的是获取初始 IntelliJ 项目,一旦拥有它,将所有 .iml 文件检查到源代码控制中——这些 .iml 文件包含所有项目信息。要获取这些文件,您需要在 IntelliJ CE 或 0.4.0 之前的 Android Studio 中导入 Eclipse 项目。然后你就会有你的 .iml 文件——坚持住。

我会指出,如果您使用 Gradle 作为构建系统,我们建议您不要将这些 .iml 文件签入源代码管理。在那里,build.gradle 文件是项目结构的真实来源; Android Studio 创建 .iml 文件的事实是一个实现细节,它反映了在内部 Android Studio 仍然将此项目视为导入,而不是直接从 Gradle 文件派生结构(当我们知道需要时我们会重新同步状态) .但是将这些 .iml 文件保存到源代码管理中或直接修改它们会导致您在重新同步时在其中所做的任何更改的混乱或丢失。

【讨论】:

  • 谢谢你的回答,斯科特。如果我知道我可以按照您的描述并排使用 gradle 和 eclipse,并且仍然能够从两者构建,我会以与该主题更相关的方式提出问题。我将不得不考虑这样做。感谢您向我指出那个方向。如果您有任何进一步的建议,请随时在此处提出。
  • 不错的答案。虽然我真的很喜欢 Android Studio,但我在使用它时遇到了很大的问题,因为我的团队更喜欢 Eclipse。太糟糕了,这使得在多种环境中工作变得困难。我使用解决方法从 git 源克隆项目,然后我得到了“旧”设置。
  • 如果我的代码路径短于:MyApp/app/src/main/src/com/mywebsite/myapp/AnActivity.java,Gradle 就不会那么糟糕了。似乎是某人的笑话。
  • Gradle 使用了很多内存,但是很多。为什么您鼓励开发人员使用 gradle?为什么它需要这么多内存?
  • gradle 的问题是,如果你把它放在没有网络连接的计算机上,它会恐慌并开始诅咒;而且,如果您确实将其放入具有网络连接的计算机中,它就会开始到处复制文件,事情就会失控。我的 4 人团队使用 android studio,一旦他们打开 IDE,我的网络就会拥塞。 90% 的请求来自 Gradle 和 Android Studio,甚至没有一个明确的文档告诉我如何让它们在完全离线的环境中工作。
【解决方案2】:

如果有这样的要求,我认为您应该尝试使用 ADT 插件而不是 Android Studio 的 Intellij Idea。 Intellij IDEA 将支持这两种类型的 Android 项目。

如果我想在某个时候完全迁移到 Android Studio 怎么办?

Android Studio 没有什么新东西,它只是一个基于 Intellij IDEA 的 IDE。您可以随时在 Intellij IDE 和 AS 之间轻松切换。唯一要在 AS 中学习的是新的 gradle 构建系统。 Intellij IDE 中也有与 IDE 相关的大部分功能。

如果您想迁移 Android Studio,请开始使用 gradle Build System。这只是新工具的主要力量。

根据您的问题,您不想在 gradle 中移动您的项目,那么您也可以像 Intellij IDEA 一样将这两个 IDE 放在 Eclipse 和 Android Studio 的位置。包括我在内的开发人员有 Eclipse 和 Android Studio。

编辑:

我找到了在 Android Studio 中导入 Eclipse 项目的解决方法,但我不建议您这样做

看我的回答

Not Use Gradle In Android Studio

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2016-01-29
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    相关资源
    最近更新 更多