困扰了三天的Android Studio编译报错终于解决了!
三天尝试了各种不同的方案针对各个不同的方方面面,然而真相只有一个!
原问题情景:由于项目工程特别大,在编译一段后就会报下面这个错误:
<code class="hljs livecodeserver has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">Error:Execution failed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> task <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">':dexAppDebug'</span>. > com.android.ide.common.<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">process</span>.ProcessException: org.gradle.<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">process</span>.internal.ExecException: > Process <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'command '</span>C:Program FilesJavajdk1<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.8</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>_25 <span class="hljs-operator" style="box-sizing: border-box;">in</span> java.exe<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">''</span> finished <span class="hljs-operator" style="box-sizing: border-box;">with</span> non-<span class="hljs-constant" style="box-sizing: border-box;">zero</span> exit <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">value</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
在stackOverFlow上找了很多办法尝试都行不通,于是只能自己琢磨着不断尝试,最后在任务管理器中观察到studio.exe和java.exe运行时占用内存量较大,又考虑
电脑配置可能不够用,所以开始不断尝试修改占用内存相关的东西,并终于取得了进展。关键代码是build.gradle中的:
<code class="hljs bash has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">dexOptions { javaMaxHeapSize <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"xx"</span> }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
xx为合理的内存大小。如果你也遇到了这种问题,不妨试试~