使用Gradle是Android Studio必须的吗?

10

自从Android Studio发布以来,我一直在使用它。到目前为止,我使用的是Android Studio 2.1.2版本,第一次导入项目并让Gradle同步需要等待数小时。有些人建议在离线模式下运行Android Studio,但当我想要使用外部库时,我需要使我的项目同步,因此我必须启用Gradle。

有没有办法摆脱Gradle?

例如:

4:19:03 PM Executing tasks: [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :app:assembleDebug]

现在已经是4:30了,但gradle构建仍在运行!只需在Eclipse中按下F11并在20秒内调试应用程序。

2个回答

7

第一次导入项目并让gradle同步需要等待数小时。

减少依赖项并检查您的互联网连接问题。可能是某些东西干扰了计算机访问像JCenter这样的站点,其中一些依赖项正在被提取。

您可以通过一个新的草稿项目运行实验,逐步从主项目引入依赖项,以确定问题出在哪里。

您也可以检查Gradle控制台,查看其是否停止工作。

您还可以尝试关闭Android Studio并运行命令行构建,如果情况明显改善,则我的猜测是此开发机器上的RAM不足。个人认为,在少于8GB的情况下,我不会想着使用Android Studio。

当我想要使用外部库时,我需要使我的项目同步,因此必须启用gradle。

据我所知,只有在更改依赖项(添加、更改版本和可能删除)时才需要退出离线模式。

有没有办法摆脱Gradle?

切换到支持其他构建系统的不同IDE。我不知道Android Studio是否支持除Gradle之外的任何东西。

如果您尝试使用在线依赖项解析,可能会遇到相同的问题,因为那些其他构建系统将从相同的位置提取并遇到相同的Internet访问问题(如果这是您困难的来源)。

Eclipse没有给您带来麻烦的部分原因是Eclipse未解析依赖项。它只使用您在libs /中拥有的内容和附加的库项目。

即使离线Gradle模式不起作用,也没有什么阻止您将Eclipse方法应用于Android Studio开发。大多数依赖关系将落入两个桶中:

  • 从您已经离线拥有的存储库中获得的东西,例如通过SDK Manager下载的Android Support Repository和Google Repository

  • 开源的东西

对于后者,请转到原始项目(例如GitHub repo),下载源代码,并将其作为库模块添加到您的项目中,同时包括任何传递依赖项的源代码。或者,看看是否有一个工具可以让您手动从存储库中下载资产(和传递依赖项),然后通过 compile fileTree()使用它们。

Eclipse运行得更快的原因之一是它做得更少。例如,我不确定我们在基于Gradle的构建中可用的清单合并功能有多少在Eclipse中可用。对于这类问题,问题不在于"Gradle",而在于现代Android开发。

最终,您需要像计算机程序员一样调试您的困难源。


在构建过程中,您还可以检查Gradle控制台,以查看它在哪里卡住了。不幸的是,有些步骤Gradle控制台不会显示任何内容,只会处理几分钟的时间。顺便说一下,我认为我应该换一台新电脑!正如您所说,我认为8GB的RAM将是Android Studio的最低要求。 - VSB
除此之外,我还能使用哪些集成开发环境? - VSB
@VSB:“不幸的是,有些步骤 gradle 控制台不会显示任何东西,只会处理几分钟的一两行”--再试一次命令行构建。如果你得到相同的结果(我预计你会),那么这些行就是你卡住的地方,你可能能够获得更有针对性的帮助来解决这些具体问题。 - CommonsWare
@VSB: "我还能用哪些IDE呢?" -- Android Studio是唯一官方支持的解决方案。IntelliJ IDEA是半官方支持的,因为据我所知,谷歌正在维护适用于IDEA的Android插件。除此之外,你只能依赖IDE社区(例如带有Andmore的Eclipse)来跟上谷歌工具变化的步伐。 - CommonsWare
2
@VSB,你可以使用./gradlew clean build --info运行gradle构建,以获取更多有关构建过程的详细信息,并查看您卡在哪里。 - Budius
@Budius 在Windows中,我尝试在Android Studio终端窗口中运行gradlew build --info - VSB

0
当然可以,因为Android Studio默认使用Gradle作为构建工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接