5

我尝试从 Java 7 迁移到 Java 8,因此我为 Android N 和所有工具安装了新的 sdk。我按照开发者指南在 android studio 中使用 Java 8,但是当我尝试编译 apk 时,我有一个无限的 Gradle Build Running .. 我已经尝试重新启动 Android Studio,但是 1 小时后,Gradle Build Running 它没有完成. 在 Windows 任务管理器中,我看到进程 java.exe 占用大量内存,CPU 为 90%。

有人已经遇到过这个问题吗?

谢谢。

编辑:

我有以下版本:

Java version : 1.8.0_92
Gradle version : 2.1.2
Android Studio version : 2.1.2

compileSdkVersion : 24
buildToolsVersion : 24

targetSdkVersion : 24

编辑2:

我尝试使用 Android Studio 2.2 并在开始构建 5 分钟后出现此错误:

Error:Execution failed for task ':app:compileProductionDebugJavaWithJack'. 
> java.lang.RuntimeException: java.lang.OutOfMemoryError: GC overhead limit exceeded
4

5 回答 5

2

add these lines to your gradle.properties file

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home //edit this according to your java home path

org.gradle.daemon=true

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

org.gradle.parallel=true

org.gradle.configureondemand=true
于 2016-11-30T14:14:48.853 回答
1

当你第一次运行 Android Studio 时,它会下载一些初始插件,延迟取决于互联网连接速度和其他一些东西。但是您可能希望在离线模式下运行 IDE。为此,请转到文件 -> 设置,然后转到“构建、执行、部署”->“构建工具”->“Gradle”并启用“离线工作”复选框。

抱歉,由于声誉低,我无法对此发表评论:D

于 2016-06-21T08:59:52.937 回答
0

第一次在 AS 中构建 Gradle,有时需要一个小时。

这是因为它正在下载一堆文件。你只需要等待。它必须下载更多的 gradle 文件,最后它才会完成。

根据您的连接,它应该需要 1-2 小时。可能需要更少或更多。等一下!:)


请注意,您对此无能为力。

于 2016-06-21T09:50:00.347 回答
0

我有同样的问题......如果你在 ubuntu 下,你可以通过安装 32 个库来解决这个问题。修复 ubuntu 上的 android bug 编译

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

sudo apt-get install lib32stdc++6
于 2017-01-01T21:16:03.760 回答
0

尝试通过 gradle 运行你的项目。为此,转到您的项目根目录并运行gradle installDebug(如果需要,安装 gradle)。如果几乎做得好,请更改 Android Studio 配置以使用已安装的 gradle。如果构建失败,请尝试使用 --debug 或 --info 选项运行相同的命令。有时 AS 检测到运行时错误但堆栈没有任何信息(无限构建循环)。签入您的项目结构中有效的 JDK 位置(必须是 1.8 或与此类似)。您也可以尝试清理您的 AS 缓存:为此转到 File->Invalidate Caches/Restart,在此之前转到“Build”-> Clean Project。还有一个建议(你也可以试试)把你的AS更新频道切换到Canary,然后更新到2.2版本。我没有在我的 2.1.2 工作室上测试过 n-sdk,但在 2.2 上它工作得更稳定。顺便说一句,你也可能会遇到 JDK 的问题。我使用 Oracle 的 JDK,它对我来说更稳定(也必须使用 OpenJDK,但我早期有很多问题)。

于 2016-06-21T09:47:08.407 回答