Como editar o arquivo 'etc / hosts' no telefone não rooteado?


14

Estou usando o LineageOS 14.1 e não quero nem preciso fazer root. Como posso remontar /systemrw e editar /system/etc/hosts?

Todas as respostas em " Como editar o arquivo 'etc / hosts'? " Esperam um telefone com root.

Respostas:


9

A menos que eu tenha perdido algo, isso não é possível. Sem acesso root, apenas o mecanismo de atualização de atualização (via recuperação ou OTA) pode ser modificado /system. Para ser aceito, esse arquivo de atualização deve ser assinado com a mesma chave que a ROM - algo que somente o desenvolvedor da ROM (aqui: a equipe do LOS) pode fazer.

Não pode ser uma maneira através de uma recuperação personalizado que permite editar todos os sistemas de arquivos diretamente (ver, por exemplo ). Mas, sem saber qual é o dispositivo, não se pode dizer se existe uma recuperação correspondente (você pode verificar se há imagens oficiais na seção Dispositivos do site deles e procurar por imagens não oficiais no XDA ). Além disso, é fazer o do dispositivo ou não editar nenhum arquivo ./system


Obrigado. twrpparece uma solução muito boa. Ele tem tudo o necessário para pequenas alterações manuais ou hostssubstituições completas . Estou correndo o mais recente estável que navios com BusyBox: vi, cat, chmode chownestão lá.
berbt

11
Além disso, você não precisa instalá-lo - basta inicializar a imagem ( fastboot boot twrp.img). O que deixa desbloquear o bootloader como a única modificação do dispositivo (otside o que você quer apenas para executar, é claro;)
Izzy

5

É possível usar um perfil de VPN * para afetar a resolução do nome do host. Atualmente, existem vários aplicativos disponíveis na Play Store que oferecem uma maneira conveniente de fazer isso, como o Hosts Go . Observe que, como essa técnica requer o uso de um perfil de VPN, você não poderá usar uma VPN real em conjunto com esta técnica.


* A partir do Android 4.0 (nível API 14) - https://developer.android.com/guide/topics/connectivity/vpn


11
O aplicativo Hosts Go funciona para adicionar algumas entradas de hosts. A documentação poderia ser muito melhor. Você pode dizer que o autor não é um falante nativo de inglês. Em resumo, você precisa: executar o aplicativo, adicionar entradas extras aos hosts, ativar a opção "mudança de host" e clicar no botão grande iniciar. Isso inicia a resolução do nome do host. Agora você deve poder usar esses hosts no chrome, por exemplo. O botão Parar leva você de volta à resolução normal do nome do host.
Gary

2

No telefone sem raiz, você não pode editar o hostsarquivo, mas é possível usar aplicativos VPN como Hosts Virtuais ou Filtro DNS Pessoal (ambos são de código aberto, não tenho afiliação) que interceptam o tráfego DNS e procuram um hostsarquivo personalizado antes fazendo consultas ao servidor DNS upstream configurado.

Ou se o gerenciador de inicialização for desbloqueável, a edição do hostsarquivo é possível através da recuperação personalizada.

Para mais alternativas, consulte: Como sempre resolver um nome de domínio para um IP fixo sem fazer o root?


-3

Aviso: isso funcionará apenas se o ADB puder obter acesso root, o que não é o caso da maioria das ROMs. Ele funciona no LineageOS 14.1.

Requisitos:

  • Developer options ativado no telefone
  • adb instalado no computador

Passos

Aplique as seguintes configurações em Developer options:

  • Root access -> ADB only
  • Android debugging -> ativado

Conecte o telefone ao computador. Conceda permissão no seu telefone, se solicitado. No computador, inicie um terminal e execute

$ adb root

Conceda permissão no seu telefone. Remontar com

$ adb remount

Iniciar um shell raiz remoto

$ adb shell

No shell adb, edite seu arquivo hosts

# nano /etc/hosts

Quando estiver pronto, desconecte

# exit

3
Hã? No LOS, a raiz estará disponível apenas se você atualizar o pacote raiz adicional, que o OP não deseja (por exemplo, "Acesso à raiz = somente ADB" não pode ser alcançado). Então, como suas etapas devem funcionar sem raiz, se exigirem raiz? Você poderia por favor esclarecer?
Izzy

O adbd não pode ser executado como raiz na construção da produção.
iBug

Além disso, como você pode conseguir nano? caté tudo o que você tem. O Android nem é enviado com um básico vi.
iBug

A Izzy acabou de pedir emprestado um telefone com ações do Android para confirmar e sim, parece ser uma coisa de LOS. Não mostrei o pacote raiz. Modificarei minha resposta e o título da pergunta para refletir esse fato.
berbt

@ iBug mesmo que o meu comentário anterior: provavelmente uma coisa de LOS. nanoestá em /system/xbin/nano. vim--version( /system/xbin/também, sem viapelido) diz que foi "Compilado por tpruvot @ CyanogenMod".
berbt
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.