Android Studio 2.x - 编译符号...永远不结束

11

我在使用Android Studio时遇到了问题。将AS更新至2.2版本后,处理时间变得很长(约30分钟),其中显示“正在构建符号...” 该项目相当大,包含NDK组件。

使用gradle进行构建非常快速:

BUILD SUCCESSFUL
time: 12.089 secs

我的 gradle_wrapper 设置:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
android.useDeprecatedNdk=true
org.gradle.daemon=true
org.gradle.parallel=true
#android.dexOptions.preDexLibraries=true
#android.enableBuildCache=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m-
HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Android Studio出了什么问题?我该如何加速它?

2个回答

10

试试更改虚拟机选项?

可能是您的虚拟机内存不足或受到内存压力限制。您可以尝试在帮助下选择编辑自定义虚拟机选项,增加Android Studio可用的内存量。

-Xms256m
-Xmx8192m
-XX:ReservedCodeCacheSize=2048m
-XX:+UseCompressedOops
-XX:MaxPermSize=4096m

删除所有的.idea文件夹并重新导入项目

关闭Android Studio,进入项目目录,并删除所有的.idea文件夹。在macOS或Linux上,可以使用find命令完成此操作。

find . -name .idea -type d -exec rm -rf {} +

然后启动Android Studio并重新导入项目。

切换到CMake

Android Studio的NDK支持基于CLion,使用CMake作为其项目文件格式。我发现将我的大型项目切换到纯CMake可以永久解决“构建符号”问题。这是有道理的,因为它可能经过JetBrains更全面的测试,并且比Android.mk项目更容易支持。


1
谢谢,这个解决方案加速AS了! - TazmanOne
嗨,我也遇到了同样的问题。最后一件要尝试的事情是您提到的最后一点,我该如何从CLion转移到纯CMake? - Jorge Mendez
你的意思是将 android.mk 重写为 CMakeLists.txt 吗? - Cameron Lowell Palmer
1
删除 .idea 对我来说解决了问题。 - Jon N

0

我解决了,可能是由于项目大小过大引起的。

如果是Windows系统,请前往 Program Files/Android/Android studio/bin 目录下找到 studio.exe.vmoptions 或者 studio64.exe.vmoption 文件(选择32位或64位)。

最后,修改 xmx 选项。

xmx 选项默认设置为1248m,将其更改为4000或6000以上...(根据您的构建机器内存大小进行调整)。

构建符号需要比默认设置更大的内存空间。


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