O GPSD é um serviço executado no seu sistema, cuja função é lidar com os GPS, AIS (sistemas de identificação) e outros sensores relacionados à navegação. A ferramenta é software livre e tem, em seu time de desenvolvedores ativos, o hacker e ativista Eric S. Raymond.
Talvez você queira uma resposta curta… mas eu vou responder da maneira mais completa possível.
O daemon GPSD foi concebido para ser ativado e acessado por outras aplicações cliente, repassando a elas os dados recolhidos dos sensores.
Atualmente, o software pode ser encontrado em vários sistemas embarcados móveis (não apenas no seu bolso) — ele cuida do serviço de mapas nos dispositivos Android, está presente em drones, robôs, submarinos, carros driverless (sem motorista) etc.
Sua presença tem aumentado nas novas gerações de aeronaves, em sistemas marítimos de navegação, veículos e sistemas IFF militares.
Entre as aplicações que fazem uso do GPSD, incluem-se o pyGPS, gpsdrive, Kismet, GPSdrive, gpeGPS, roadmap, roadnav, navit, viking, tangogps, foxtrot, opencpn, obdgpslogger, geohist, LiveGPS, geoclue, qlandkartegt, gpredict, OpenCPN, gpsd-navigator, gpsd-ais-viewer, e o firefox/mozilla.
No que tange o sistema operacional Android (a partir da versão 4.0 e em alguns anteriores), o GPSD é usado para monitorar os sensores de posicionamento, embarcado nos dispositivos móveis. Todos os aplicativos Android “localizáveis” são, de certa maneira, aplicativos cliente do GPSD.
O projeto GPSD tem seu início registrado em 1998 e é muito bem conceituado. Seu código é tido como maduro e de alta qualidade e tem passado por auditorias minuciosas — não daria para esperar menos de softwares usados em aplicações militares.
As plataformas que suportam o GPSD são todos os Unixes de código aberto — o que inclui o Linux, a família BSD etc.
Diante disto, você vai encontrar a ferramenta em máquinas Linux (óbvio), Android e Apple OS X. Nestas últimas, o suporte (do projeto) é limitado — alguns drivers do OS X têm relatos de serem “bugados”, o que impede o GPSD de obter dados de alguns dispositivos seriais USB.
A página do projeto alerta que não provê qualquer suporte ao Windows — o conselho é arrume um sistema operacional melhor. Se você tem interesse em aprender mais sobre computação, este é um ótimo conselho.
O GPSD está drenando a bateria. Isto é possível?
Alguns usuários tem reclamado de que o daemon GPSD está promovendo um “consumo incomum” das baterias de seus dispositivos. Há posts com esta informação no fórum oficial de usuários do GPSD.
Segundo Eric S. Raymond, é possível imaginar várias razões para isto acontecer se o aplicativo cliente que acessa o GPSD estiver se comportando mal.
O que realmente está acontecendo, segue nas linhas abaixo, de acordo com a explicação de Raymond.
O uso do GPS é conhecido por consumir bastante energia em qualquer dispositivo. Normalmente, o Android economiza calculando sua localização com base na força com que o sinal da torre (3G, LTE, 4G etc,) chega ao seu aparelho. Esta é uma informação que ele está sempre obtendo, de maneira que quase não precisa fazer uso do sensor do GPS.
Para obter informações mais precisas, contudo, aplicativos como o Google Maps podem requisitar uma “localização detalhada” — neste caso, o ícone do GPS pode aparecer na barra de status.
Ao fazer uma requisição por uma localização mais precisa, o GPSD é ativado para buscar e interpretar os dados do(s) satélite(s).
O Android captura os dados do GPSD e os disponibiliza a todos os outros aplicativos do sistema, através de uma API Java.
O Android, por si, não mantém o sensor do GPS ligado o tempo inteiro. Além disto, o daemon GPSD é econômico no consumo de energia — tendo já sido testado em sistemas com pouca potência.
Raymond esclarece que não há motivo para o sistema de coleta de informações do GPS gastar muitos ciclos de processamento, uma vez que a taxa de dados recebida não é elevada.
Como resolver o problema
Até aqui fica claro, apesar do relatório do sistema Android, que o GPSD não é a origem do problema.
O que você precisa fazer é encontrar o aplicativo que está pedindo informações detalhadas e, ao mesmo, tempo rodando nos bastidores (background).
Desinstale este aplicativo defeituoso e o problema vai embora junto.
Há relatos de que no Samsung Galaxy S3, um dos aplicativos defeituosos é o Remote Location Service (Serviço de Localização Remota). Se não for possível remover o aplicativo (este ou qualquer outro), saiba como é possível desabilitá-lo.
De forma resumida, você precisa encontrar o aplicativo que está chamando o GPSD o tempo inteiro, sem necessidade, e desinstalá-lo, para resolver o problema.
Referências
Conheça os sensores do seu smartphone: https://elias.praciano.com/2015/02/conheca-os-sensores-do-seu-smartphone-ou-tablet/.
Página do projeto no Savannah: https://savannah.nongnu.org/projects/gpsd/.
Página oficial do projeto: http://catb.org/gpsd/.
Resposta completa de Raymond: http://esr.ibiblio.org/?p=4886.
13 replies on “O GPSD está drenando a bateria no Android?”
No caso do Galaxy alpha, o aplicativo que utiliza e ativa o GPSD, é a própria rede da operadora TIM.
Tenho um galaxy s1, ainda em perfeito estado. Surgiu recentemente o mesmo problema relatado com GPSD e o consumo de bateria. Fiz várias tentativas e nada… O problema cessou depois que retirei o chip TIM e troquei por um da vivo (parou o problema). Imagino que algo esteja associado à operadora.
No meu Samsung S5 não precisei desinstalar nada, apenas desativei a função de “Sempre permitir busca”. No seguinte caminho : CONFIG / WI-FI / AVANÇADO / “Sempre permitir busca”
Claro além de ter feito antes é lógico os cancelamentos de controle remoto e localização do google, mas isso não resolveu o problema, somente quando desativei a função do wifi de “sempre permitir busca” e reinicializar o celular é que minha bateria voltou a durar dias ao invés de 5 horas.
Tenho um Asus zenfone 5 e estou passando pelo mesmo problema de consumo da bateria pelo GPSD.
Muito boa a explicação. Tem alguma dica de como encontrar o aplicativo culpado por isso??
Não creio que haja um “caminho curto” para isto.
Em vez de desinstalar os aplicativos suspeitos, eu recomendo desativá-los. Em seguida, vá reativando aos poucos, um a um… até descobrir quem é “o engraçadinho”.
Valeu cara! Fui desabilitando alguns aplicativos que usam a localização e deu certo. Abs
Guilherme, tenho um Asus Zenfone 5 e não estou encontrando o aplicativo que está utilizando o gpsd, qual aplicativo você desabilitou?
No meu caso tambem, tenho um Galaxy Alpha, e o consumo da bateria pelo GPSD só acontece quando aciono o acesso a rece de dados da TIM em 3G ou 4G, mas após acionar, mesmo desligando a rede de dados, o GPSD continua a utilizar a bateria, utilizando em torno de 30% da bateria. Enfim, estou pensando em instalar uma versão mais antiga do Android, enquando não temos uma solução da Samsung
Boa noite. Também tenho um galaxy alpha e utilizo a operadora TIM, o GPSD é ativado apenas em Caxias do Sul, no Rio Grande do Sul. Quando estou em São Paulo, cidade, o mesmo não ativa. E consigo chegar ao final do dia com 50% de bateria. Como fico mais tempo no Sul, estou pensando em trocar de operadora.
No meu caso e de alguns conhecidos que tem o Galaxy Alpha, o problema só ocorre usando a rede de dados da TIM em 3G/4G. Se mudar pra 2g somente, não aparece o processo. Outras operadoras funciona tudo normal.
Olá, muito boa a explicação, estou com este problema no Galaxy Alpha, o aparelho é novo e percebi que já existe muita gente reclamando deste problema. Por acaso você não teria uma dica mais precisa para resolver este problema… desconfio que seja o aplicativo de esportes…
Pois é.
O problema não é no GPSD.
O problema está em um dos seus aplicativos que fica ocupando o GPSD desnecessariamente o tempo todo.
Este aplicativo é que terá que ser desinstalado (e, se for possível, substituído) até que seus desenvolvedores resolvam o problema.