Como customizar sua ROM Android

Nesse artigo, vamos aprender como o sistema Android lida com as partições e vamos aprender como podemos montá-las dentro do ambiente GNU/Linux, afim de fazer modificações. Nós vamos remover Bloatware, serviços do Google e bloquear propagandas, num processo que chamamos de customização de ROM. Divirta-se!

[ Hits: 3.866 ]

Por: Cézar Augusto em 01/12/2020


Como remover Bloatwares



Primeiro, vamos começar removendo os Bloatwares. Para quem não sabe, Bloatwares são aplicativos que vem instalados de fábrica e são impossíveis de se remover pelo usuário, normalmente esses aplicativos nunca não usados e consomem bateria e espaço no armazenamento interno.

Quando você liga um celular Android pela primeira vez, o sistema começa a construir o cache do Dalvik e instalar os aplicativos do sistema na partição de dados, alguns aplicativos são apenas pacotes vazios que serão mais tarde instalados pela PlayStore sem a interação do usuário.

Esses aplicativos são chamados de STUB e você normalmente vai querer removê-los nesse processo de Debloat.

Os aplicativos de sistema no Android são guardados nas pastas /system/priv-app/ e /system/app/. Além dela, existem outras partições que guardam aplicativos de terceiros e de operadoras como por exemplo as partições hidden e product, nós abordaremos essas partições mais pro final. Vamos começar removendo os aplicativos não essenciais da partição do sistema.

Enxugando a partição do sistema

Entre na pasta "system" que você acabou de montar:

# cd system

Liste os aplicativos:
Linux: Como customizar a sua ROM Android
Note que na saída do comando acima, muitos aplicativos estão alojados na parte privilegiada do sistema, muitos deles você consegue distinguir pelo nome e outros são simplesmente difíceis de dizer, mesmo pesquisando na internet. Outros fazem parte do coração do sistema e você simplesmente não pode removê-los, pois se fizer isso o sistema poderá deixar de funcionar. Um bom exemplo disso é o framework de pagamentos da Samsung!

Também note que ali existem alguns Stubs que farão o seu celular instalar sozinho outros aplicativos que não vieram de fábrica, como por exemplo o PreloadInstaller.

Se você já tem uma noção, você já pode começar removendo os APPs que você sabe que não são essenciais, como por exemplo o instalador do Facebook:

sudo rm -rfv "./system/priv-app/FBInstaller_NS/"
Removido './system/priv-app/FBInstaller_NS/FBInstaller_NS.apk'
Foi removido o diretório: './system/priv-app/FBInstaller_NS/'


Ou, o instalador de múltiplos Bloatwares que mencionei antes:

sudo rm -rfv "./system/priv-app/PreloadInstaller/"
Removido './system/priv-app/PreloadInstaller/PreloadInstaller.apk'
Foi removido o diretório: './system/priv-app/PreloadInstaller/'


Eu compilei uma lista de todos os Bloatwares que removi do meu smartfone sem quebrar o meu sistema, vou compartilhar com vocês para terem uma ideia:
  • ./system/app/AutomationTest_FB
  • ./system/app/BasicDreams
  • ./system/app/BBCAgent
  • ./system/app/BCService
  • ./system/app/CarrierDefaultApp
  • ./system/app/Chrome
  • ./system/app/ChromeCustomizations
  • ./system/app/DictDiotekForSec
  • ./system/app/DuoStub
  • ./system/app/EasymodeContactsWidget81
  • ./system/app/EmergencyLauncher
  • ./system/app/Facebook_stub
  • ./system/app/FactoryCameraFB
  • ./system/app/FBAppManager_NS
  • ./system/app/Foundation
  • ./system/app/GearManagerStub
  • ./system/app/GameOptimizer
  • ./system/app/GameOptimizingService
  • ./system/app/GoogleCalendarSyncAdapter
  • ./system/app/GoogleContactsSyncAdapter
  • ./system/app/SplitSoundService
  • ./system/app/SPrintSpooler
  • ./system/app/Gmail2
  • ./system/app/GoogleTTS
  • ./system/app/Maps
  • ./system/app/MDMApp
  • ./system/app/Netflix_activationCarriers
  • ./system/app/Netflix_activationCommon
  • ./system/app/Netflix_activationSamsung
  • ./system/app/Netflix_stub
  • ./system/app/PartnerBookmarksProvider
  • ./system/app/PhotoTable
  • ./system/app/PlayAutoInstallConfig
  • ./system/app/SafetyInformation
  • ./system/app/SamsungPassAutofill_v1
  • ./system/app/SecFactoryPhoneTest
  • ./system/app/SmartReminder
  • ./system/app/SmartSwitchAgent
  • ./system/app/Stk
  • ./system/app/Stk2
  • ./system/app/UniversalMDMClient
  • ./system/app/WallpaperBackup
  • ./system/app/WebManual
  • ./system/app/WlanTest
  • ./system/app/YouTube
  • ./system/priv-app/AndroidAutoStub
  • ./system/priv-app/BackupRestoreConfirmation
  • ./system/priv-app/BeaconManager
  • ./system/priv-app/BixbyService
  • ./system/priv-app/BlockedNumberProvider
  • ./system/priv-app/CallLogBackup
  • ./system/priv-app/CarrierCodeChanger
  • ./system/priv-app/CarrierConfig
  • ./system/priv-app/ConfigUpdater
  • ./system/priv-app/CSC
  • ./system/priv-app/EasySetup
  • ./system/priv-app/EmergencyInfo
  • ./system/priv-app/EmojiUpdater
  • ./system/priv-app/FBInstaller_NS
  • ./system/priv-app/FBServices
  • ./system/priv-app/Fmm
  • ./system/priv-app/FotaAgent
  • ./system/priv-app/GameHome
  • ./system/priv-app/GameTools_Dream
  • ./system/priv-app/KeyguardWallpaperUpdator
  • ./system/priv-app/MateAgent
  • ./system/priv-app/NSFusedLocation_v4.0
  • ./system/priv-app/OmaCP
  • ./system/priv-app/OMCAgent5
  • ./system/priv-app/OneDrive_Samsung_v3
  • ./system/priv-app/PhoneErrService
  • ./system/priv-app/PaymentFramework
  • ./system/priv-app/PreloadInstaller
  • ./system/priv-app/SamsungBilling
  • ./system/priv-app/SamsungDeviceHealthManagerService
  • ./system/priv-app/SamsungDigitalWellbeing
  • ./system/priv-app/SamsungPass
  • ./system/priv-app/SecureFolder
  • ./system/priv-app/SendHelpMessage
  • ./system/priv-app/serviceModeApp_FB
  • ./system/priv-app/SmartManager_v6_DeviceSecurity
  • ./system/priv-app/SmartSwitchAssistant
  • ./system/priv-app/SOAgent
  • ./system/priv-app/TADownloader
  • ./system/priv-app/TaPackAuthFw
  • ./system/priv-app/Turbo
  • ./system/priv-app/UltraDataSaving_O
  • ./system/priv-app/UserDictionaryProvider
  • ./system/priv-app/Velvet
  • ./system/priv-app/WallpaperCropper
  • ./system/hidden
  • ./system/priv-app/GalaxyAppsWidget_Phone_Dream

É lógico que nem tudo nessa lista pode ser considerado um Bloatware, para algumas pessoas, a pasta segura da Samsung (SecureFolder) pode ser útil. Além disso, a remoção de alguns aplicativos pode causar algum efeito colateral, como por exemplo o Knox parar de funcionar. A lista pode variar de aparelho para aparelho e nem todos os nomes de aplicativos serão iguais a esses que eu listei, então, tome cuidado ao usar listas pegas da internet feitas por terceiros.

Para usar essa lista é bem simples, coloque ela na raiz do sistema Android, na pasta onde você montou o arquivo de imagem e rode o seguinte loop como usuário root:

# while IFS= read line
> do
> rm -rf "$line"
> done < bloatware_list.txt


Após este processo, a partição de sistema da sua ROM já deve estar alguns quilos mais leve. O próximo passo agora é remover os aplicativos de outra partição que normalmente vêm instalados de fábrica.

Ah, não esqueça de tirar a lista de dentro do sistema!

# mv bloatware_list.txt ../

Enxugando a partição do produto

Outro lugar que costuma ter aplicativos pré-instalados é a partição "product", mas isso pode variar de celular para celular. Por sorte, o Galaxy-A20 costuma trazer aplicativos ali, então eu vou mostrar como removê-los.

Entre na pasta "product", onde você montou o arquivo de imagem "product.raw" anteriormente:

# cd ../product

Dê um ls:

# ls
app  build.prop  etc  HWRDB  lost+found  omc  priv-app  sipdb

Como você pode ver, existe uma pasta "app" e uma "priv-app", o que quer dizer que existem aplicativos ali. Remova todos os que você julgar necessário.

# rm -rfv app/* priv-app/*

No meu, só tinha um manual de usuário, SamsungMax e o SamsungDTI.

# rm etc/permissions/privapp-permissions-com.dti.samsung.xml

Também removi o arquivo que dava permissão para o SamsungDTI fazer mudanças no aparelho.

Enxugando a partição hidden

Outra partição que costuma ter APPs de terceiros é a partição "hidden", como o Galaxy-A20 não possui essa partição, eu vou mostrar um exemplo pego de um Samsung Galaxy J7 (2016).

# ls ./hidden
Common_app  INTERNAL_SDCARD  lost+found

# ls ./hidden/Common_app/
apps_brasil_v1.0.1_signed_aligned.apk  mcare-recarga-multi-samsung-v1.3.0-r3.apk  SamsungAppsClube_v1.19.201.apk  smarttutor_b212.apk

# rm ./hidden/Common_app/*

Como você pode ver, eu removi todos os APKs dentro da pasta "Common_app", isso quer dizer que eles não existirão mais no aparelho. Com as partições devidamente enxugadas, vamos para o próximo passo.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Como montar as partições do Android
   3. Como remover Bloatwares
   4. Bloqueio de propagandas e malware
   5. Instalando o Aurora Services
   6. Como reempacotar sua ROM
   7. Resultado e Instalação
Outros artigos deste autor

Como usar o Heimdall

Como fazer root em aparelhos Samsung

Computador e Placas Antigas Nvidia em Pleno 2019

i3 para computadores antigos

Como Modificar a Tela do Bootloader do Android

Leitura recomendada

Ambiente de Desenvolvimento para Android

Ubuntu/Debian/Kali Linux e outros no Android

Python com SL4A - A camada de script do Android

Introdução ao Heimdall

Processing - Interagindo com o usuário

  
Comentários
[1] Comentário enviado por fabio em 01/12/2020 - 11:25h

Excelente trabalho, meus parabéns!

[2] Comentário enviado por mauricio123 em 01/12/2020 - 12:44h


Excelente.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[3] Comentário enviado por cizordj em 02/12/2020 - 09:54h

Obrigado

[4] Comentário enviado por MiccoXW em 03/12/2020 - 13:41h

Queria muito customizar, mas o medo do celular ficar inutilizável é maior kkkk

[5] Comentário enviado por albfneto em 03/12/2020 - 15:49h

Olha, eu gostei e favoritei!
vc consegue sem o celular ser "rooted"?
isso funciona num android antigo, android 6?

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[6] Comentário enviado por leandropscardua em 04/12/2020 - 20:02h

Interessante e motivador! Uma sugestão de artigo futuro é como dar "saída" em dispositivos antigos. Tipo instalar nova rom num galaxy pocket ou num galaxy tab7. Os devices antigos ficam abandonados coitados!

[7] Comentário enviado por cizordj em 04/12/2020 - 20:28h


[5] Comentário enviado por albfneto em 03/12/2020 - 15:49h

Olha, eu gostei e favoritei!
vc consegue sem o celular ser "rooted"?
isso funciona num android antigo, android 6?

Hmmm, nos Androids mais antigos é meio diferente a parada, se eu não me engano existe um negócio chamado CF auto root onde você tem que instalar dois arquivos e um deles é responsável por desbloquear o bootloader e o outro é o que faz root no aparelho, no caso né... Se você tivesse esses dois arquivos você só teria que desbloquear o bootloader e não usar o outro arquivo, depois que tiver o bootloader desbloqueado você pode partir pro abraço e customizar a partição do sistema.

O máximo que vai acontecer no teu caso é o aparelho rejeitar a instalação do sistema e te obrigar a reinstalar tudo de novo o sistema original de fábrica. Tenha sempre um becape!

[8] Comentário enviado por cizordj em 04/12/2020 - 20:34h


[6] Comentário enviado por leandropscardua em 04/12/2020 - 20:02h

Interessante e motivador! Uma sugestão de artigo futuro é como dar "saída" em dispositivos antigos. Tipo instalar nova rom num galaxy pocket ou num galaxy tab7. Os devices antigos ficam abandonados coitados!


Concordo, o jeito é instalar uma custom ROM nesses aparelhos, pra isso dar certo você tem que procurar no fórum do Xda-developers pelo modelo exato e ver se alguém já fez isso por você, nunca se sabe, lá pode ter uma ROM maravilhosa feita por um desenvolvedor sério mas também pode não ter nada.

[9] Comentário enviado por Alannah358 em 07/01/2021 - 05:59h

Thank you for sharing. https://mcdvoice.me/

[10] Comentário enviado por MiccoXW em 13/01/2021 - 12:53h

Tem duas pastas meta-data, uma no AP e outra no CSC, qual delas eu devo colocar na pasta principal?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts