Pasta Android SDK, ocupando muito espaço em disco. Precisamos manter todas as imagens do sistema?

247

Existem muitas imagens do sistema no meu disco na pasta sdk do Android. Eu quase não uso o emulador. Pode ser uma vez em 6 meses. A maior parte do meu desenvolvimento está diretamente no dispositivo. O que eu queria verificar era: a remoção das imagens do sistema (pelo menos para o antigo APIS, ou seja, <22) afetará o desenvolvimento?

Além disso, a pasta google apis vista abaixo. Devo mantê-lo para todas as versões ou apenas a mais recente?

insira a descrição da imagem aqui

A captura de tela acima é da ferramenta WinDirStat. - https://windirstat.net

AndroidMechanic - Viral Patel
fonte
obrigado! e a pasta google_apis .... também posso removê-los? isso afetará minha depuração no dispositivo?
AndroidMechanic - Viral Patel
25
Se alguém estiver interessado, o analisador de espaço em disco na imagem é chamado WinDirStat .
Tomáš Zato - Restabelece Monica
4
Nota lateral: Tão simples quanto fazer um du -sh * no Linux!
User3
no linux para ver os maiores diretórios: du -m ~ / src / android-sdk-linux | sort -n | tail -100
Scott Stensland
@lijo atualizou a pergunta
AndroidMechanic - Viral Patel

Respostas:

204

As imagens do sistema são sistemas operacionais Android pré-instalados e são usadas apenas por emuladores. Se você usa seu dispositivo Android real para depuração, não precisa mais deles, para poder removê-los todos.

A maneira mais limpa de removê-los é usando o SDK Manager. Abra o SDK Manager, desmarque essas imagens do sistema e aplique-as.

Também fique à vontade para remover outros componentes (por exemplo, níveis antigos do SDK) que não são úteis.

frogatto
fonte
Obrigado pela resposta detalhada acima ... deixa claro. Uma última dúvida. A pasta google_apis vista em cada versão do Android na captura de tela acima também é necessária apenas para as imagens do sistema, certo? eles podem ser removidos também?
AndroidMechanic - Viral Patel
podemos mover os arquivos para uma unidade diferente, se sim, então o que todas as necessidades de ajuste a ser feito pós movendo as imagens
sameer
@sameer Você pode movê-lo e apontar seu IDE para onde está o SDK Manager. Eu tentei isso uma vez, mas fez com que o meu Eclipse levasse 5 minutos para abrir todas as vezes ... excluir as imagens do sistema me salvou 40 GB no meu SSD!
Demonslay335
Existem muitas ferramentas de compilação do SDK do Android no meu gerenciador sdk. A exclusão de revisões antigas pode causar algum erro ou afetar o desempenho?
Shima Erfan
140

Você não precisa manter as imagens do sistema, a menos que queira usar o emulador na área de trabalho. Junto com ele, você pode remover outros itens indesejados para liberar espaço em disco .

Adicionando como resposta à minha própria pergunta, pois tive que narrar isso para as pessoas da minha equipe mais do que algumas vezes. Daí esta resposta como uma referência para compartilhar com outros curiosos.

Nas últimas semanas, vários colegas me perguntaram como se livrar com segurança das coisas indesejadas para liberar espaço em disco (a maioria delas era iniciante). Eu os redirecionei para esta pergunta, mas eles voltaram para mim em busca de etapas. Então, para iniciantes no Android, aqui está um guia passo a passo para remover com segurança coisas indesejadas.

Nota

  • Não exclua cegamente tudo diretamente do disco que você "acha" que não é necessário ocupar. Eu fiz isso uma vez e tive que baixar novamente.
  • Certifique-se de ter uma lista de todos os projetos ativos com o tipo de emuladores (se houver) e os níveis de API e ferramentas de compilação necessários para que eles continuem trabalhando / compilando corretamente.

Primeiro, verifique se você não usará emuladores e sempre fará o desenvolvimento em um dispositivo físico. Caso você precise de emuladores, anote os Níveis da API e o tipo de emuladores necessários. Não os remova. De resto, siga os passos abaixo:

Etapas para limpar com segurança coisas indesejadas da pasta Android SDK no disco

  1. Abra o Gerenciador de SDK do Android independente. Para abrir, siga um destes procedimentos:
  • Clique no botão Gerenciador de SDK na barra de ferramentas no android studio ou eclipse
  • No Android Studio, vá para configurações e pesquise "Android SDK". Clique em SDK do Android -> "Abrir o Gerenciador de SDK autônomo"
  • No Eclipse, abra o menu "Janela" e selecione "Android SDK Manager"
  • Navegue até o local do diretório android-sdk no seu computador e execute "SDK Manager.exe"

.

  1. Desmarque todos os itens que terminam com "Imagem do sistema". Cada nível da API terá mais do que alguns. Caso você precise de alguns e tenha imaginado que a lista já os deixe verificados para evitar perdê-los e ter que fazer o download novamente.

.

  1. Opcional (pode ajudar a economizar um pouco mais de espaço em disco): para liberar mais espaço, você também pode desmarcar completamente os níveis de API não necessários. Tenha cuidado novamente para evitar baixar novamente algo que você está usando em outros projetos.

.

  1. No final, verifique se você tem pelo menos o seguinte (verifique a imagem abaixo) para que os níveis restantes da API funcionem perfeitamente com seu dispositivo físico.

No final, os componentes instalados do android sdk limpo devem se parecer com isso no gerenciador do SDK.

insira a descrição da imagem aqui

AndroidMechanic - Viral Patel
fonte
9
A remoção de imagens do sistema no gerenciador do SDK é a solução mais limpa. Isso deve ter pelo menos mais votos positivos ou até ser a resposta aceita.
Levite
4
Obrigado @Levit, esta é uma resposta à minha própria pergunta, que eu postei mais tarde, porque achei que as pessoas se beneficiariam de conhecer essa abordagem. A resposta que marquei aceita é a que realmente me ajudou nessa época.
AndroidMechanic - Viral Patel
1
Isso foi muito útil, obrigado. A única modificação nos seus passos que eu sugeriria é o passo 2. Você deseja VERIFICAR os itens que deseja remover e, em seguida, clique no botão Excluir Pacotes no canto inferior direito. Obrigado novamente!
Adam Plocher
Muito obrigado, eu não sabia que o sdk estava baixando imagens de emulador (meu mac estava chorando, ficou sem espaço até eu ver este post).
precisa saber é o seguinte
A pergunta é " Precisamos manter todas as imagens do sistema? " E isso não responde a essa pergunta.
user34660
8

Eu tinha 20,8 GB na pasta C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images (6 imagens android: - android-10 - android-15 - android-21 - android-23 - android-25 - android-26).

Compactei a pasta C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images.

Agora são necessários apenas 4,65 GB.

C: \ Usuários \ ggo \ AppData \ Local \ Android \ Sdk \ system-images

Não encontrei nenhum problema até agora ...

A compressão parece variar de 2/3 a 6, às vezes muito mais:

android-10

android-23

android-25

android-26

ggo
fonte
1
como você o comprimiu?
krv
1
clique com o botão direito do mouse na pasta para compactar (pasta de imagens do sistema aqui) => Propriedades => Avançado => ative "Compactar conteúdo para economizar espaço em disco" => OK => Aplicar => selecione "Aplicar alteração nesta pasta, subpastas e arquivos "(deve ser selecionado por padrão) e clique em OK. (talvez seja melhor sair do Android Studio e fechar os emuladores atualmente em execução antes da compactação, pois alguns arquivos podem estar bloqueados).
ggo 22/07
3
Isso afetará o desempenho, assim como somente para arquivos raramente usados ​​(excluindo arquivos já compactados, como foto, vídeo, zip, jar etc.).
Leon
6

Eu recomendo duas etapas para resolver o problema do SDK inchado.

Primeiro, removi todas as versões do Android, exceto duas:

  1. A versão atual, por exemplo, 6.0 Marshmallow até o momento da redação deste documento. Esta versão é para testar e desenvolver o mais recente e melhor que os atuais aparelhos Nexus estão sendo executados, além de algumas outras marcas.

  2. Uma versão mais antiga, por exemplo, 4.04 Ice Cream Sandwich. Isso é para fornecer compatibilidade para a grande maioria dos aparelhos. Você perde alguma funcionalidade das versões mais recentes, mas obtém o menor denominador comum de compatibilidade.

Segundo, removi os emuladores e guardei apenas os dois acima. Eu disse a ele para não armazenar o estado completo do sistema em disco, o que de fato avisa que você ocupará muito espaço, embora isso torne a inicialização mais rápida. Basta iniciar o emulador antes de fazer seu café pela manhã :)

Se houver muito espaço, remova os emuladores completamente. Pegue dois aparelhos antigos no Ebay que fornecerão todas as plataformas de teste necessárias. Eles nem precisam ser completamente funcionais - muitos aplicativos não precisam de conectividade SIM e celular, por exemplo.

Meu ambiente Android estava ocupando 32 GB no meu Macbook Air de 128 GB. Não foi possível continuar fazendo isso. Algum dia eles produzirão MacBook Airs terabyte, mas até então, terão que emagrecer.

Blisterpeanuts
fonte
A pergunta original diz " A maior parte do meu desenvolvimento está diretamente no dispositivo " . Mas para todos nós que usamos um emulador, essa é a única resposta para a pergunta " Precisamos manter todas as imagens do sistema? ".
user34660
5

Esse é o material mínimo que eu mantenho para o desenvolvimento Android do dia a dia (incluindo código de produção). As versões mais recentes da API 25 à API 27 (Nougat para Android P) estão incluídas apenas e você pode trabalhar muito bem com isso.

  • Para minimizar ainda mais, mantenha qualquer uma das versões abaixo iguais e mantenha as versões inferiores, por exemplo, API 16 com os mesmos arquivos baixados como abaixo.

Sneh Pandya
fonte
4

Existe o caminho para remover com segurança a imagem do sistema

Entre no SDK Manager na barra de ferramentas:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Entre no Android SDK:

insira a descrição da imagem aqui

Na guia Plataformas SDK, desmarque a plataforma que você deseja desinstalar:

insira a descrição da imagem aqui

Clique em ok e confirme a exclusão:

insira a descrição da imagem aqui

Kevin ABRIOUX
fonte
1

Além das outras respostas, o diretório a seguir contém imagens excluídas do sistema em um Mac para Android Studio 2.3.3. Consegui excluir os diretórios android-16 e android-17 sem nenhum problema, porque não tinha emuladores que os usassem. (Eu mantive o android-24 que estava em uso.)

$ pwd
/Users/gareth/Library/Android/sdk/system-images

$ du -h
2.5G    ./android-16/default/x86
2.5G    ./android-16/default
2.5G    ./android-16/google_apis/x86
2.5G    ./android-16/google_apis
5.1G    ./android-16
2.5G    ./android-17/default/x86
2.5G    ./android-17/default
2.5G    ./android-17
3.0G    ./android-24/default/x86_64
3.0G    ./android-24/default
3.0G    ./android-24
 11G    .
Gareth Randall
fonte
1

Ao excluir todo o emulador, em algum momento a memória não será reduzida à nossa expectativa. Então abra o caminho de menção abaixo em você c drive

C: \ Usuários {Nome de usuário} .android \ avd

Nesta pasta avd, você pode ver todos os avds criados anteriormente. Portanto, você precisa excluir todos os avds que removerão todos os espaços não utilizados utilizados pelos emuladores. Do que criar o emulador novo para você trabalhar.

Narender Gusain
fonte
0

Nesta pasta, existem todas as imagens do emulador. Se você não usar o emulador, poderá excluir esta pasta.

Ahmad Nawaz
fonte