"Armazenamento insuficiente disponível", mesmo com muito espaço livre na memória do dispositivo

140

O espaço total do meu aplicativo é de 10 MB e, após a instalação, leva menos de 20 MB. No Galaxy Note I , durante a atualização do meu aplicativo, está dizendo "Armazenamento insuficiente disponível", onde há 214 MB de espaço livre na memória do dispositivo (interno). Isso acontece mesmo tentando baixar um novo aplicativo.

Procurei muito pela solução e um motivo perfeito para a causa desse problema, mas não consigo encontrá-lo. Como corrijo esse problema?

Este é o resultado do 'adb shell df' no meu outro dispositivo que tem o mesmo problema. Possui 35 MB de espaço livre:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied
Atirador de elite
fonte
2
Pode ser que o espaço livre que você está vendo relatado não seja o do armazenamento interno real, mas de um armazenamento "externo" "interno" (como em solda permanente). Se você pode executar o adb a partir da linha de comando, poste a saída deadb shell df
Chris Stratton
Este é o formulário do problema do lado do cliente. Portanto, não posso executar o shell adb.
Sniper
Então, quem posso encontrar o armazenamento interno real (espaço livre) do dispositivo em que os aplicativos serão armazenados.
29513 Sniper
1
você declarou android: installLocation no manifesto?
Blackbelt
8
Esta pergunta parece estar fora do tópico, porque se trata de um problema no nível do usuário. Seria melhor em casa para os entusiastas do Android .
Peter Mortensen

Respostas:

177

Aqui está uma solução muito simples que funciona no meu Samsung Galaxy S II e na Nota 1 ; Não faço ideia de outros modelos:

  1. Abra o aplicativo do telefone e mude para o teclado.
  2. Discar *#9900#
  3. Na tela exibida, clique no botão "Excluir dumpstate / logcat".

Eu restaurei cerca de um GB de espaço no sistema dessa maneira.

Berislav Lopac
fonte
3
Ele removeu o espaço interno (aproximadamente 300 MB) no meu Galaxy Note 1, mas vale a pena notar. +1 do meu final.
Mohammad Arif
15
Resposta errada para este problema. Não há falta de armazenamento interno aqui !!!
Robert Siemer
13
Aparentemente, ele não funciona para discadores que não são de estoque (por exemplo, CyanogenMod), mas veja a resposta de rhlee sobre como fazer a mesma coisa se você receber o erro "MMI inválido" ao tentar fazer isso em um telefone modificado e enraizado.
ChrisC
3
Como faço a mesma coisa no tablet que não possui teclado de discagem e também NÃO está enraizado ???
Jalle
1
Para mim (hammerhead, API-19), o problema era que / data / app-lib / continha o pacote de aplicativos que tentei instalar. Remova e está fixo.
shkschneider
67

No começo, tentei a resposta de Berislav Lopac , mas atendi Connection problem or invalid MMI code.quando tentei discar *#9900#. Eu estava usando o CyanogenMod no telefone e acredito que telefones com ROMs personalizadas não usam o discador de ações, portanto, eles não têm a funcionalidade SysDump.

Basicamente, o Delete dumpstate/logcatSysDump limpa os arquivos de log /data/log. Mas você também pode fazer isso manualmente sem o SysDump. (Isso pressupõe que seu telefone tenha sido enraizado, o que acontecerá se o telefone estiver executando o CyanogenMod ou qualquer outra ROM que não seja de estoque.)

  1. Verifique se os aplicativos Superusuário e Emulador de terminal estão instalados. (Eles vêm com a maioria das ROMs personalizadas.)
  2. Execute o emulador de terminal
  3. Digite su, pressione Enter.
  4. Isso exibirá um prompt de superusuário. Garantir acesso. (Você terá que esperar três segundos antes de clicar em "Permitir".)
  5. Altere o diretório atual digitando cd /data/log, seguido de retorno.
  6. Verifique se você está no data/logdiretório digitando pwd, seguido de retorno. Deve imprimir o diretório de trabalho atual que você está em: /data/log. É muito importante garantir que você esteja no diretório certo, pois a próxima etapa remove todos os arquivos em qualquer diretório de trabalho em que você esteja atualmente.
  7. Remova todos os arquivos no diretório digitando rm *, seguido de retorno.
  8. Feche a janela ou o aplicativo do terminal ou digite exitpara sair da susessão.

Excluí aproximadamente 1.500 arquivos de 1 MB como esse e corrigi o problema "Armazenamento insuficiente disponível".

Assim como nos outros pôsteres, possuo um Galaxy S II , então parece haver um problema com esse modelo.

Se alguém souber da solução permanente para interromper a criação dos arquivos de log, informe-me.

OBSERVAÇÃO: Alguns gerenciadores de arquivos listam falsamente /data/logque estão vazios, pois estão em execução sem privilégios e, portanto, não possuem as permissões para exibir os arquivos.

rhlee
fonte
Obrigado, este foi o primeiro post no fórum que me explicou o que fazer quando a coisa * # 9900 # não funcionava! Suspeitei que fosse o CyanogenMod por trás do problema MMI inválido, mas não sabia para onde ir a partir daí. Eu também tinha usado o ES File Explorer, mas ele não estava me mostrando o diretório / data / log - presumivelmente eu tinha esquecido de fazê-lo exibir arquivos ocultos.
ChrisC
2
@ Chris Chapman: Como você está usando o CyanogenMod, você pode usar o próprio explorador de arquivos do CyanogenMod chamado File Manager (pasta azul com seta branca / círculo). Vá para Configurações -> Configurações gerais -> Modo de acesso no aplicativo e altere-o para o modo Solicitar usuário ou modo Acesso ao raiz (o modo Solicitar usuário é mais seguro). Você poderá ver os arquivos no diretório / data / log. Além disso, você poderá excluir em massa todos os arquivos. Esse método é mais fácil, mas a exclusão dos arquivos é mais lenta.
rhlee
+1! Eu sempre vejo esse tipo de número *#9900#, *#7832mas não funcionou para mim por causa da ROM Cyanogen.
S.Thiongane
13
Isso se aplica ao CyanogenMod 10.2? Porque eu não tenho uma pasta "/ data / log". "Não existe tal arquivo ou diretório".
precisa saber é
7
Eu tenho /data/e /data/data/e /sdcard/data/mas nenhuma delas tem uma logsubpasta
endolith
18

A memória pode estar reservada pelo sistema operacional para ser usada para executar o que você normalmente executa (como um arquivo de troca). Você pode espremer em outro aplicativo ou dois

  • Tentando instalá-los logo após uma reinicialização ou
  • Forçando o fechamento de alguns aplicativos em execução (mas a segunda opção pode não ser uma boa ideia - consulte o primeiro link),

Mas a única solução muito boa pode ser

  • Reparticione o cartão SD para que os aplicativos possam ser instalados diretamente nele (consulte o segundo link).

Dê uma olhada na postagem do fórum Estava prestes a acontecer: aviso de pouca memória! .

A parte importante é:

O sistema operacional sabe quanta memória é necessária para executar os aplicativos que você já possui. Este é um exemplo perfeito.

Agora você pode "enganar" o sistema operacional forçando o fechamento de alguns aplicativos que estão na RAM. Isso aumentará seu "balde" de memória, o que pode permitir a instalação de um aplicativo, mas lembre-se, se você fizer esses tipos de coisas, causará problemas apenas no futuro. Lagg, mensagens de erro etc. (porque você está enganando o sistema operacional ao pensar que você lhe deu memória adicional, o que de fato você fez ... você apenas força a fechar).

Outra boa explicação do que está acontecendo está na postagem no fórum Low Internal Memory .

A parte importante é:

A razão pela qual seu espaço interno está sendo preenchido é três vezes. Primeiro, quando um aplicativo é "movido" para o cartão SD, ele não é completamente movido. Apenas partes dele realmente vão. Segundo, o cache Dalvik do aplicativo ainda é armazenado na memória interna (que ocupa uma quantidade substancial de espaço). Terceiro, os dados dos aplicativos e todas as configurações do sistema são armazenados na memória interna (sim, alguns aplicativos usam o cartão SD para partes dos dados, mas todos os aplicativos têm dados armazenados na memória interna).

E o tópico inclui sugestões sobre o particionamento que você pode fazer no seu cartão SD para permitir 'aplicativos moar'!

SOU
fonte
5
De acordo com androidforums.com/evo-4g-support-trou Troubleshooting/… , "Uh, o quê? Tudo isso está incorreto. A área da ROM em que os aplicativos estão instalados não está relacionada à área de RAM em que os aplicativos são executados / em cache. O Task Killer libere RAM, não ROM. Você não poderá instalar mais aplicativos nessa área apenas matando-os de execução ". (Acho ROM é o termo errado, mas ainda)
nafg
1
"ROM", memória somente leitura, não está em discussão aqui. Todo tipo de armazenamento que estamos discutindo é mutável, diferentemente da ROM. O que está sendo discutido é RAM e espaço de armazenamento, e mesmo esses conceitos são obscurecidos pelo conceito de espaço de troca, no qual um atua como o outro. Se você tiver outras respostas para postar, isso pode ser construtivo, mas os argumentos que apontam para a ROM parecem muito menos.
AM
7
Resposta besteira completa. 1) Não falamos sobre RAM aqui, mas você fala. Por quê? 2) O Android não usa swap (por padrão). 3) O sistema operacional não reserva RAM para aplicativos instalados. 4) A memória de armazenamento interno não está cheia, conforme indicado pelo op !! 4) @ Sniper, eu imploro, não aceite esta resposta ultrajante!
Robert Siemer
3
Esta resposta não parece ser relevante. Existem respostas mais úteis abaixo.
Ed Ed
1
@AM Você está completamente desligado, aqui. ROM é o armazenamento interno do telefone (como um disco rígido em um computador). RAM é o "bloco de anotações" que a CPU usa enquanto está trabalhando e onde seus aplicativos são carregados enquanto estão em execução. Com todo o armazenamento em estado sólido, o termo ROM foi realmente "confuso". Realmente se resume a dois tipos diferentes de "memória" 1) a memória volátil (RAM) é rápida e requer energia para "armazenar" coisas, o que significa que, assim que o dispositivo é desligado, essa memória é apagada. 2) a memória não volátil (ROM) é onde os dados são armazenados, mesmo que não haja energia.
Mike U
12

O gerenciador de pacotes ("instalador") tem um problema de design: ele não consegue distinguir entre vários erros possíveis e costuma apresentar a desculpa de "armazenamento insuficiente".

As primeiras etapas são realizadas: identifique se é um problema de instalação (1.) e não está relacionado à falta de armazenamento (2.)

  1. Isso acontece no console ( pm install file.apk), com o Google Play, em outros mercados e na instalação manual da GUI (por exemplo, “clicar” em um arquivo APK baixado ); não é um problema de download, ...
  2. Os pacotes terminam inteiramente na /datapartição - ou - principalmente no cartão SD (e um pouco mais /data). - Os dois locais mostram espaço suficiente, conforme indicado pelo pôster original (33 MB e> 900 MB, respectivamente) para o pacote <20 MB. –E– a /datapartição tem mais de 10% de liberdade (33 MB é mais que 10% de 200 MB).

Surpreendentemente, a maioria das respostas não leva isso em consideração ...

Na realidade, a /datapartição precisa de uma limpeza de resíduos de instalações anteriores.

  • Identifique o nome comum do pacote problemático (por exemplo, com.abc.def)
  • Desinstale o pacote (por exemplo, pm uninstall com.abc.def)
  • Verifique o que resta dele nos dados (por exemplo, find /data -name 'com.abc.def*')
  • Excluir essas coisas

O instalador engasga com eles, retornando com o motivo errado. - A parte interessante é: se o pacote for instalado no cartão SD (forçado ou por outros meios), algumas sobras /datanão machucam ... o que leva à falsa crença de que é realmente um problema de espaço ( mais espaço no cartão SD ...)!

A questão do estouro de pilha da qual obtive metade disso é a solução para o erro INSTALL_FAILED_INSUFFICIENT_STORAGE no Android .

Robert Siemer
fonte
6

A primeira coisa a fazer é verificar os detalhes da mensagem de erro. Para isso, você pode usar o LogCat App .

Para mim, o problema foi um erro como

Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

A solução foi ativar a função de senso comum no meu cérebro e procurar a pasta com.xyz na pasta app-lib com o ES-Explorer. Eu reconheci que esta pasta já estava lá. Portanto, removê-lo resolveu o problema de renomeação e os aplicativos agora podem ser instalados corretamente.

Sentenza
fonte
3
Meio triste quantas soluções dependem de baixar e instalar mais um aplicativo
Mooing Duck
6

O mesmo problema estava chegando para o meu telefone e isso resolveu o problema:

  • Vá para Application Manager/ Appsde Configurações.

  • Selecione Google Play Services.

Digite a descrição da imagem aqui

  • Clique no Uninstall Updatesbotão à direita do Force Stopbotão.

  • Depois que as atualizações são desinstaladas, você verá o Disablebotão, o que significa que você terminou.

Digite a descrição da imagem aqui

Você verá muito espaço livre disponível agora.

Meu Deus
fonte
1
e você deve fazer o mesmo para todos os aplicativos, especialmente os do google. Não se esqueça de desativar as atualizações automáticas de aplicativos antes.
GoTo 29/11
2

Eu também tive esse problema ao instalar um aplicativo depois de desinstalá-lo. Resolvi fazer o download do Lucky Patcher e clique no menu - solução de problemas - para remover correções e backups (armazenamento insuficiente disponível). Observe que você precisa que seu dispositivo esteja enraizado.

Federico
fonte
O My Lucky Patcher (versão 3.6.7) não possui "remover correções e backups" no menu.
Robert Siemer
Não consigo instalar o Lucky Patcher devido ao mesmo erro. Ele ganhou {t até mesmo instalar usando ADB ...
Metafaniel
2

Eu tenho um Nexus 4 sem raiz (que possui apenas armazenamento interno, sem cartão SD) e estava recebendo esse erro com a atualização de aplicativos maiores. Aplicativos menores atualizariam bem.

Descobri que era porque recentemente me inscrevi no serviço Play Music All Access e havia fixado vários álbuns.

Estes são baixados para a /datapartição oculta e foi isso que ficou sem espaço (presumo)

Soltei alguns álbuns e agora não tenho problemas para instalar aplicativos.

Shevek
fonte
2

1. Reinicie o telefone e reinstale o aplicativo !

Eu também estava tendo o mesmo problema Insufficient Storage Availableno meu dispositivo, mas reiniciei o dispositivo e funcionou bem!

PS .:

2. Instale o aplicativo no armazenamento externo

Para isso, defina Storage Locationcom o seguinte comando

adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto
Tarsem Singh
fonte
2
Graças à Tarsem! Eu tentei reiniciar mais de 20 vezes, mas sem sorte .. :(
Sniper
1
Instalando a sdcard evita o problema, mas não resolvê-lo (ver minha resposta) -e- você pode instalar um pacote problemático para sdcard mais fácil assim:pm install -s package.apk
Robert Siemer
2

Eu tive esse problema mesmo com muita memória interna e memória SD. Esta solução é apenas para aplicativos que não serão atualizados ou que foram instalados anteriormente no telefone e não serão instalados.

Parece que, em alguns casos, existem diretórios restantes de uma instalação anterior e o novo aplicativo não pode removê-los ou substituí-los.

A primeira coisa a fazer é tentar desinstalar o aplicativo primeiro e tentar novamente. No meu caso, isso funcionou para alguns aplicativos.

Para a próxima etapa, você precisa de acesso root no seu telefone:

Com um gerenciador de arquivos, vá para / data / app-lib e localize o diretório (ou diretórios) associado ao aplicativo. Por exemplo, para kindle, é com.amazon.kindle. Exclua estes. Também vá para / data / data e faça o mesmo.

Em seguida, vá para a Play Store e reinstale o aplicativo. Isso funcionou para todos os aplicativos no meu caso.

tomliddle
fonte
1

Eu tive o mesmo problema e foi resolvido usando o App Cache Cleaner .

(HT: acejavelin @ Fóruns do Android )

Shaul Behr
fonte
1
Na verdade, não é tão bobo. Eu tenho esse problema no meu Galaxy S2, e ele tinha memória suficiente para instalar o aplicativo e lançou cerca de 87MB. Mas não resolveu o problema geral.
Ed Ed
Hmmmm. Talvez isso tenha corrigido o meu problema. Tentei as sugestões nas respostas a esta pergunta (instale no sdcard, disque * # 9900 # "Excluir dumpstate / logcat", execute o Cache Cleaner) e, inicialmente, ainda não funcionou, ou seja, houve erros ao atualizar os aplicativos existentes (erro 902 para ser mais preciso). Mas depois que o telefone foi reiniciado, ele conseguiu atualizar corretamente! E agora parece estar bem.
Ed Ed
1

Tentei várias das soluções sugeridas, mas nenhuma delas funcionou para mim. Depois de algumas pesquisas, me deparei com uma dica para mover alguns aplicativos de /data/apppara /system/app. Isso liberou espaço suficiente para instalar novos aplicativos e atualizar os existentes.

Posso recomendar o utilitário gratuito SystemCleanup para mover os aplicativos.

Florian Feldhaus
fonte
Tive o mesmo problema e o SystemCleanup me ajudou. Eu recomendo!
Eran Egozi
1

Esta é a coisa mais fácil de fazer. Vá settings procurar storageou memorytoque nele e procure cached data. toque nele e limpe seus dados a partir daí. SIMPLES!!!

Bhargav Modi
fonte
0

O aplicativo precisa necessariamente ser instalado no armazenamento interno? Se você não estiver executando nenhum serviço, tente instalá-lo no armazenamento externo. Isso pode ser feito adicionando o seguinte código no seu manifesto:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

Isso geralmente funciona no Android 2.2 e superior na maioria dos casos. Verifique se o aplicativo funcionará corretamente se estiver instalado no armazenamento externo. Você terá uma boa idéia de que tipo de aplicativos podem ser instalados no armazenamento externo no Local de Instalação do Aplicativo .

MMss
fonte
0

Quando se trata de um dispositivo físico, o comportamento dos dispositivos parece diferente para um grupo diferente de dispositivos.

Parte da estranha coleção de opiniões que ouvi de pessoas diferentes é:

  • Reinicie seu dispositivo após desconectar
  • Remova alguns aplicativos do dispositivo e libere pelo menos 100 MB
  • Tente instalar seu aplicativo na linha de comando, ./adb install ~Application_path
  • Mova seu aplicativo para o armazenamento do cartão SD ou torne-o padrão no cartão SD no arquivo de manifesto do Android, android:installLocation="preferExternal"
  • Você tem muita memória adquirindo coisas na pasta Raw, que instala uma cópia na memória do telefone enquanto instala um arquivo APK e o dispositivo não tem memória suficiente para carregá-los
  • Faça root no seu dispositivo e instale uma boa ROM que ajuda a informar o dispositivo sobre a memória restante.

Espero que um deles seja relevante para você! ;)

dharam
fonte
0

A maior parte do espaço disponível é reservada pelo sistema operacional. A melhor e mais fácil correção é mover seus aplicativos para armazenamento externo. Isso liberará muito espaço para você.

Riz
fonte
0

Alguns aplicativos precisam ser reiniciados para serem instalados completamente. O Android apenas diz que possui memória insuficiente por algum motivo - deve dizer que precisa ser reiniciado para concluir a instalação. Experimente - ele será instalado completamente automaticamente quando você reiniciar.

Galaxy Note
fonte
0

Eu resolvi esse problema sozinho. No entanto, a memória interna e SD mostravam muito espaço livre. Foi um problema com a memória do telefone, que estava quase cheia.

Portanto, mudei muitos dos meus aplicativos da memória do telefone para o item interno, para liberar a memória do telefone: Configurações -> Armazenamento -> Aplicativos (na seção armazenamento interno) -> guia Interno

Aqui estão os que não estão marcados e estão ocupando o espaço na memória do telefone.

Clique nos aplicativos (um por um). Clique no botão: 'Mover para armazenamento interno'.

Depois de liberar uma quantidade considerável de espaço na memória do telefone dessa maneira, o erro não deve ocorrer.

Akhilesh Singh
fonte
0

Depois de desinstalar alguns aplicativos, consigo instalar o novo ...

Eu acho que o SO calcula a memória total necessária para executar todos os aplicativos. Se não couber, então diz "em memória suficiente".

vkGunasekaran
fonte
0

Eu tive o mesmo problema no Galaxy S4 (i9505) na ROM de estoque (4.2.2 ME2). Eu tinha espaço livre assim: 473 MB /data, 344 MB /system, 2 GB /cache. Eu estava recebendo o erro de velocidade livre em qualquer download da Play Store (aplicativo pequeno, 2,5 MB), verifiquei o LogCat , que dizia "Cancelar o download do ABC porque o espaço livre é insuficiente".

Depois, liberei espaço /data, 600 MB grátis e agora está funcionando bem, os aplicativos baixam e instalam;). Parece que essa ROM precisa de um pouco mais de espaço livre para funcionar OK ...

George Dima
fonte
0

Limpar a memória cache do Google Play também ajudará você ... Vá para a página de informações do aplicativo do Google Play e limpe-a.

Ashokchakravarthi Nagarajan
fonte
0

Não encontrei uma solução gratuita que funcionasse, mas encontrei uma solução: usei a versão não gratuita do backup do Titanium, cliquei no botão de contexto e optei por verificar a memória ocupada pelos aplicativos. Encontre o aplicativo de download e verá que ele possui uma certa quantidade de espaço alocado em seu cache. Limpar dados é a opção que você deseja.

Tony Gil
fonte
0

Recebi a mesma mensagem de erro caso o nome do pacote fosse muito longo (> 128 caracteres). O simples uso de um nome mais curto corrigiu o problema.

reinra
fonte
0

Eu tinha mais de 2 GB de espaço interno e ainda não consegui instalar / atualizar aplicativos do Google Play ou manualmente.

Qualquer que seja o motivo, a limpeza da partição de cache resolveu meu propósito.

Passos: Recuperação -> Limpar partição de cache -> Reiniciar o sistema agora

Saurabh
fonte
0

Se você possui root, exclua todas as pastas no caminho:

/data/app-lib/

E, em seguida, reinicie o seu dispositivo.

Eu tive esse problema várias vezes e essa correção funcionou para mim todas as vezes. Ele ainda tem um segmento XDA .

Escrevo todas as pastas, porque se houver um problema com um aplicativo, há uma boa chance de você ter esse problema com outros aplicativos também. Além disso, é irritante encontrar apenas as pastas dos aplicativos problemáticos.

desenvolvedor android
fonte
0

Vá para Configurações, Aplicativos, Tudo e desinstale o Google Play Store. Isso será substituído pela versão antiga e você poderá fazer o download sem o "Erro de armazenamento insuficiente". Funciona para mim

Carlos AG
fonte
-1

Eu continuava tendo esse problema e limpei o cache do Dalvik usando o Titanium Backup. Você precisará ter seu telefone enraizado. Assim que fiz isso, fui capaz de atualizar o Swiftkey e o Beautiful Widgets.

acciocode
fonte