O Android Gradle não pôde reservar espaço suficiente para a pilha de objetos

91

Instalei o Android Studio 1.1.0. Ainda não fiz nada como iniciar um novo aplicativo Android ou importar nada. De alguma forma, ele está tentando construir algo e lança um erro de sincronização.

Erro: não foi possível iniciar o processo daemon. Este problema pode ser causado pela configuração incorreta do daemon. Por exemplo, uma opção jvm não reconhecida é usada. Consulte o capítulo do guia do usuário no daemon em http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html

Leia a seguinte saída do processo para saber mais:


Ocorreu um erro durante a inicialização da VM. Não foi possível reservar espaço suficiente para o heap do objeto. Não foi possível criar a máquina virtual Java.

Já verifiquei em gradle.org/.../gradle_daemon.htmlmas não encontrei nada que me ajude a resolver o problema.

Não é um problema de memória porque tenho 8 GB de memória física e nenhum outro programa em execução.

GummDev
fonte
Verifique seu ambiente GRADLE_OPTS ou gradle.properties, certifique-se de que eles tenham as configurações corretas conforme o erro está dizendo.
Al Jacinto
Não deve ser necessário configurar GRADLE_OPTS, mas não importa o que eu procurei por gradle.properties em todo o sistema de arquivos e nada parece estar presente.
GummDev
1
O gradle não leu apenas o seu projeto gradle.properties, ele também leu você ~ / .gradle / gradle.properties. Você também verificou isso?
Al Jacinto
Eu fiz, e os parâmetros para JVM são os mesmos que os parâmetros já configurados ... -Xmx = 768m e assim por diante ..
GummDev
Eu sei que esta é uma resposta tardia, mas é dada para ajudar outras pessoas que possam enfrentar este problema. Se a compilação do Gradle foi feita corretamente nas vezes anteriores, tente reiniciar o Android Studio, reinicie o computador e tente outras opções.
mok

Respostas:

207

Para Android Studio 1.3: (Método 1)

Etapa 1: Abra o arquivo gradle.properties em seu projeto Android Studio.

Etapa 2: adicione esta linha ao final do arquivo

org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m

Os métodos acima parecem funcionar, mas se não funcionar, faça isso (Método 2)

Etapa 1: inicie o Android Studio e feche qualquer projeto aberto ( Arquivo> Fechar projeto ).

Etapa 2: Na janela de boas-vindas, vá para Configurar> Configurações .

Etapa 3: vá para Build, Execution, Deployment> Compiler

Etapa 4: Alterar o tamanho do heap do processo de construção (Mbytes) para 1024 e o processo de construção adicional para Opções de VM para -Xmx512m .

Etapa 5: feche ou reinicie o Android Studio .

RESOLVIDO - Andriod Studio 1.3 Gradle não pôde reservar espaço suficiente para problema de heap de objeto

Faiz Siddiqui
fonte
Obrigado pela resposta ... mas eu tentei este procedimento antes e também não funcionou.
GummDev
2
Tente o método 2, ele resolveu meu problema. (Tente alterar o tamanho máximo do heap, caso não funcione).
Faiz Siddiqui
1
@AZ_: Não posso culpar o Google. Este não é o século 20. As coisas estão indo 10 vezes mais rápido que no século passado. Não há tempo para qualidade elegante. Além disso, você o usa gratuitamente. O que você pode perguntar mais? Graças a Deus, há stackoverflow :)
Scott Chu
5
Não entendo, não consigo encontrar nenhum arquivo chamado gradle.properties
Majda
5
O que @Majda disse. O projeto não tem tal arquivo chamado gradle.properties. Há build.gradle, settings.gradle, local.properties, e gradle-wrapper.properties. A única razão pela qual encontrei esta resposta é porque a saída do build diz para editar o do projeto gradle.properties, e tal arquivo não existe no projeto!
aroth
31

em gradle.properties, você pode até mesmo excluir

org.gradle.jvmargs=-Xmx1536m

tais linhas ou comente-as. Deixe o Android Studio decidir por isso. Quando me deparei com o mesmo problema, nenhuma das soluções acima funcionou para mim. Comentar essa linha em gradle.properties ajudou a resolver esse erro.

Kashyap Kotak
fonte
18

Tentei várias soluções, mas nada parecia funcionar. Configurar o JDK do meu sistema para corresponder ao do Android Studio resolveu o problema.

Garanta que seu sistema seja java

java -version

É o mesmo que Androids

File > Project Structure > JDK Location
user1389749
fonte
No meu caso (Android Studio 1.1 32 bits) usando o caminho jdk mais antigo funcionou. De 1,7 a 1,6.
Rohit Rokde
Salvou meu dia! ~ Agora eu entendo de onde vem o problema. É porque antes eu tinha 4GB de RAM e 32 bits JDK dentro do AS. Agora eu tenho 16 gb de RAM e o JDK de 32 bits simplesmente não conseguiu iniciar porque ele deve inicializar toda a minha memória RAM antes de disparar.
LPVOID
como "Configurando o JDK do meu sistema para corresponder ao do Android Studio"?
Harun
18

Adicione a seguinte linha em MyApplicationDir\gradle.properties

org.gradle.jvmargs=-Xmx1024m
kay27
fonte
Isso funcionou para mim em uma caixa do Windows. Mudei gradle.properties de org.gradle.jvmargs=-Xmx1536mparaorg.gradle.jvmargs=-Xmx1024m
EmpathicSage
11

Minha correção ao usar o Android Studio 3.0.0 no Windows 10 é remover inteiramente quaisquer argumentos jvm do arquivo gradle.properties .

Estou usando o Android gradle wrapper 3.0.1 com gradle versão 4.1. Nenhum comando gradlew estava funcionando, mas um aviso diz que ele está tentando ignorar quaisquer argumentos de memória jvm conforme foram removidos no 8 (que presumo que seja o Java 8).

Daniel Wilson
fonte
1

Eu tive o mesmo problema, aqui está minha postagem:

Android Studio - Falha na compilação do Gradle - Java Heap Space

resumo do exec: o Windows procura o arquivo gradle.properties aqui:

C:\Users\.gradle\gradle.properties

Portanto, crie esse arquivo e adicione uma linha como esta:

org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m

de acordo com a postagem de @Faiz Siddiqui

Lucky Mike
fonte
0

Solução para Android Studio 2.3.3 no MacOS 10.12.6

Inicie o Android Studios com mais memória heap:

export JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"
open -a /Applications/Android\ Studio.app
braço
fonte
não funciona .. há mais alguma coisa além disso que devemos fazer?
Umar Farooque