Sumário
Parte do hub de modding: Como modificar um APK · Alternativa na linha de comando: guia do APKTool · Alternativa no celular: guia do MT Manager.
APK Studio é uma interface gráfica, de código aberto e multiplataforma, para inspecionar e editar projetos de APK, com árvore de projeto, editor de código e console. O repositório oficial lista os recursos atuais, as plataformas suportadas e os downloads de cada release.
Primeiro o enquadramento honesto: o APK Studio não faz nada que o APKTool não faça. Ele muda como você interage com as mesmas operações, o que importa quando uma árvore de projeto combina melhor com você do que um terminal. Este guia cobre o que ele é, como instalá-lo em cada plataforma, o fluxo de trabalho, os limites dele e como ele se compara às ferramentas ao redor.
O que é o APK Studio?
APK Studio é uma aplicação desktop multiplataforma que decodifica um APK em um projeto navegável, deixa você editar Smali e recursos em uma janela e recompila o pacote quando você termina; o painel de console mostra a saída da ferramenta por baixo de cada operação.
Alternativa gráfica ao APKTool
Por baixo dos panos, as operações de decode e build espelham o que o APKTool faz na linha de comando. A diferença é ergonomia: clique para abrir, edite em um painel, clique para compilar, veja a saída rolando no console abaixo.
O que ele faz
O repositório do projeto lista decode de APK, recompilação, assinatura e instalação entre os recursos, ao lado de um editor e um console; como as ferramentas e os fluxos embutidos podem mudar, confira os release notes atuais e verifique quais opções de assinatura a sua versão instalada oferece.
Como instalar o APK Studio
A instalação muda por plataforma, então pegue a build de release no repositório oficial do projeto e verifique o arquivo baixado antes de abrir; confira também a atividade recente de releases, porque um projeto inativo pode ficar atrás dos formatos de APK atuais e das mudanças do Android.
Windows
Baixe a build de release, extraia-a e execute o executável. Nenhum instalador é necessário. Se o SmartScreen do Windows sinalizar uma build sem assinatura, isso é esperado em ferramentas independentes: confirme o repositório de origem antes de permitir.
Mac
Extraia a build de release e mova o app para Aplicativos. O Gatekeeper pode bloquear um app sem assinatura na primeira abertura, o que você resolve nas configurações de Privacidade e Segurança depois de confirmar de onde o binário veio.
Linux
Extraia o release e execute o binário, ou compile a partir do código se sua distribuição o empacotar. As dependências são mínimas, e o mesmo requisito de runtime do Java que o APKTool tem vale aqui também.
Visão geral da interface do APK Studio
A interface gira em torno de três painéis: uma árvore de projeto à esquerda, um editor no meio e um console abaixo; a árvore localiza os arquivos decodificados, o editor os altera e o console informa se as operações de decode e build deram certo.
Explorador de projeto
A árvore espelha a saída da decodificação: pastas Smali, recursos, o manifest e o apktool.yml. As pastas se expandem por DEX em pacotes multidex, o que é o jeito mais rápido de ver com que tipo de código você está lidando antes de abrir qualquer coisa.
Editor
Qualquer arquivo decodificado abre no painel central. Smali, XML e texto puro abrem editáveis. Não há autocompletar nem validação para Smali, então a opinião do compilador chega na hora da build, não enquanto você digita.
Console
A saída bruta de cada comando de decode e build aparece aqui. Quando uma build falha, esse painel nomeia o arquivo e a linha: leia antes de mexer em qualquer outra coisa, porque a mensagem é mais precisa do que qualquer chute seu.
Menu de build
As ações de decode e build ficam na barra de menus. A ação de decode recebe um caminho de APK, a ação de build recebe uma pasta de projeto, e as duas ficam a um clique depois que um projeto está aberto.
Como descompilar com o APK Studio
Abra um projeto, selecione o arquivo APK e execute a ação de decode; a árvore do projeto então se enche do manifest, dos recursos e das pastas Smali do pacote, e apps maiores demoram mais porque contêm mais arquivos para processar e exibir.
Leia o projeto
Comece pelo manifest: permissões, activities e a faixa de SDK dizem o que o app faz antes de você ler uma linha de código. Depois conte quantas pastas Smali existem, o que diz o quão fundo a busca no código vai ser.
Encontre o que você precisa
Pesquise pela árvore em vez de abrir arquivos ao acaso. Strings visíveis da interface do app o ancoram no método certo em um passo; adivinhar nome de classe quase nunca faz isso.
Como editar com o APK Studio
Edite um arquivo, salve, compile e teste antes de tocar no próximo; mantenha um decode intocado ao lado do projeto de trabalho para comparar alterações e restaurar uma base conhecida e boa se o app recompilado falhar na instalação ou na abertura em um aparelho de teste.
Edite o manifest
Permissões e entradas de launcher são XML puro aqui. Remova uma permissão que o app usa e ele trava naquele caminho de código, então verifique depois de cada remoção usando a referência de permissões para conferir o que cada entrada realmente faz.
Edite o Smali
Altere uma comparação ou pule um branch, mantendo as contagens de registradores intactas. O editor não vai avisar sobre registradores divergentes: a build ou o runtime vão avisar, o que é uma forma mais lenta e mais cara de aprender a mesma lição.
Edite os recursos
Strings e valores embaixo de res/ são a categoria mais segura para mudar. Valores errados parecem errados; raramente derrubam o app junto.
Recompilar e assinar
Execute a ação de build e leia a saída do console para localizar o sucesso ou o arquivo que causou a falha; o projeto lista suporte a assinatura, então inspecione as opções na sua versão instalada e verifique o certificado resultante antes de instalar, seguindo o guia de assinatura.
O que a saída do console diz
Os logs de decode e build espelham as mensagens da ferramenta por baixo, então uma falha se lê aqui igual ao que seria no terminal. A primeira linha de erro nomeia o arquivo; tudo depois dela costuma ser contexto. Conserte o arquivo nomeado e rode de novo em vez de ler a trace inteira.
Onde a saída cai
Os pacotes compilados são gravados na pasta de saída do projeto, normalmente uma subpasta dist dentro do diretório decodificado. Mantenha seu projeto de trabalho e seu decode pristine como projetos separados para que uma build nunca sobrescreva o arquivo com o qual você está comparando.
Quando usar o APK Studio em vez da linha de comando
O APK Studio serve para aprendizado, navegação visual de projetos e manter arquivos e logs em uma janela; automação na linha de comando ou acesso ao decoder mais recente podem favorecer outra ferramenta, então compare essas necessidades antes de fixar um fluxo de trabalho permanente.
Ele ajuda quando
Você está aprendendo, porque cada ação tem um botão visível e a saída dele rola logo embaixo. Ajuda quando você inspeciona mais do que compila, porque navegar numa árvore de projeto vence navegar em pastas para tarefas de leitura. E ajuda quando você quer uma única janela com a árvore, o arquivo e o log.
Ele não ajuda quando
Você scripta a mesma sequência de decode-build em vários arquivos, porque a linha de comando compõe e a interface gráfica não. E não ajuda quando você precisa da lógica de decode mais nova: seja o que o APK Studio embrulha, ele embrulha uma versão específica, e um decoder desatualizado lê errado formatos de APK novos.
Erros comuns do APK Studio
Falhas de build e de decode normalmente vêm das operações do APKTool por baixo ou dos arquivos do projeto, então inspecione o console do APK Studio a partir da primeira linha de erro; ela nomeia o estágio e muitas vezes o arquivo que precisa de atenção antes de outra build.
A build falha no Smali
O console nomeia o arquivo e a linha. Compare com o seu decode pristine, conserte a instrução que você alterou e compile de novo. Nunca assine uma build que falhou nem tente instalar uma.
O console mostra um erro de ferramenta
Um runtime do Java ausente ou um arquivo de framework de que o decode precisa. Conserte o ambiente, não o projeto: rode o decode de novo depois de instalar o Java e instale frameworks com apktool if para pacotes de sistema.
O projeto não abre
Uma pasta de projeto que foi movida, ou metadados gravados por outra versão da ferramenta. Recrie o projeto a partir do APK original em vez de consertar a pasta; um decode novo leva menos tempo do que depurar metadados velhos.
O decode produz pastas vazias
Um decode interrompido, um arquivo de origem corrompido, ou um pacote que o decoder por baixo não suporta. Extraia o APK de novo do aparelho com o guia de extração e decodifique outra vez antes de investigar qualquer coisa mais fundo.
Uma primeira sessão, passo a passo
Use um pacote que você mesmo extraiu para esta primeira sessão e siga as seis etapas: decodificar, inspecionar, editar, compilar, assinar e instalar; isso verifica se a visão de projeto combina com o seu fluxo sem depender de um download não verificado nem mexer no seu app principal.
- Abra o app e crie um projeto apontando para o seu arquivo APK.
- Rode o decode e espere a árvore encher.
- Abra o
AndroidManifest.xmle leia a lista de permissões. - Mude o label do app para
My Test Builde salve o arquivo. - Rode a build e confirme o caminho de saída no console.
- Assine a saída, desinstale o app original e instale o rebuild.
Se os seis passos passarem sem mistério, a ferramenta entra no seu fluxo. Se o passo 5 falhar em um arquivo que você não tocou, isso aponta para o decoder e não para a sua edição, e a versão de linha de comando no guia do APKTool é o plano B.
APK Studio vs APKTool vs MT Manager
APK Studio, APKTool e MT Manager cobrem operações parecidas de pacote por interfaces diferentes; compare plataforma, edição, assinatura e automação abaixo para escolher a ferramenta que combina com um fluxo de GUI no desktop, de build scriptada ou só no celular, conforme o projeto e o seu nível de experiência.
| Tarefa | APK Studio | APKTool | MT Manager |
|---|---|---|---|
| Plataforma | Computador, GUI | Computador, CLI | Celular, GUI |
| Decode e build | Sim | Sim | Sim |
| Edição de Smali | Sim, em janela | Sim, em arquivos | Sim, no aparelho |
| Assinar a saída | Passo separado | Passo separado | Integrado |
| Scripts e controle de versão | Limitado | De primeira classe | Não |
| Manutenção | Confira a atividade | Ativo | Ativo |
Escolha o APKTool quando você quer scripts, controle de versão ou garantia de compatibilidade com os lançamentos atuais do Android. Escolha o MT Manager quando o celular é o único aparelho que você tem. Pegue o APK Studio quando uma árvore de projeto gráfica realmente ajuda você a trabalhar.
O jeito mais rápido de avaliá-lo: decodifique um pacote que você já extraiu com o guia de extração, leia o manifest no editor e recompile sem mudar nada. Se esse ciclo redondo funcionar limpo na sua máquina, a ferramenta combina com o seu fluxo.
Pontos principais
- APK Studio é uma GUI sobre o mesmo ciclo de decode e build que o APKTool roda na linha de comando.
- Árvore de projeto, editor e console em uma janela só; nenhum terminal necessário.
- Confira a atividade do repositório antes de adotar e mantenha o apksigner para o passo de assinatura.
Perguntas frequentes
O que é o APK Studio?
APK Studio é uma interface gráfica multiplataforma para descompilar e recompilar APKs. Ele embute o ciclo de decode e build em uma janela de projeto com editor e console, então você ganha os recursos do APKTool sem viver no terminal. Avalie-o primeiro.
O APK Studio é seguro?
O código-fonte é público e as compilações que você mesmo monta a partir do repositório são o caminho mais seguro. Como em qualquer ferramenta que abre arquivos de terceiros, verifique o que você baixa e descompile apenas pacotes obtidos de forma legítima. Confie no repositório.
Como descompilo com o APK Studio?
Crie ou abra um projeto, aponte-o para o arquivo APK e execute a ação de decode. A árvore do projeto se enche de pastas Smali, do manifest decodificado e de recursos que você pode abrir e editar no editor embutido. Leia antes de editar.
O APK Studio é melhor que o APKTool?
Ele é mais acessível, não mais capaz. Tudo o que o APK Studio faz passa pela mesma lógica de decode e build, então escolha ele se uma árvore de projeto gráfica combina com você, e fique na linha de comando se scripts ou automação importarem.
O APK Studio precisa de root?
Não. Ele trabalha em arquivos do seu computador, e o APK que você alimenta pode ser extraído de um celular via ADB sem root. Root não tem nenhuma função no ciclo decode-editar-recompilar. Uma conta de usuário padrão basta do começo ao fim.
O APK Studio ainda é mantido?
O status de manutenção do APK Studio pode mudar com o tempo, então confira os releases e commits recentes do repositório oficial antes de depender dele. Se as atualizações pararam, a lógica de decode embutida pode ficar atrás dos formatos de APK atuais. Compare a versão atual com o APKTool antes de assumir um projeto.
O APK Studio assina APKs?
Ele pode executar ou orientar o passo de assinatura depois de uma build, mas assinar não é a função principal dele. Um rebuild vindo de qualquer ferramenta ainda precisa de um certificado antes de o Android instalar, então mantenha o apksigner ou um assinador no celular no circuito.
Qual é a diferença entre APK Studio e Android Studio?
O Android Studio compila apps Android a partir de projetos-fonte, enquanto o APK Studio abre arquivos APK prontos para inspeção e modificação. Eles atendem a etapas diferentes do desenvolvimento: builds a partir do código versus análise de pacote. Escolha conforme você tem o código do projeto ou apenas um arquivo APK para examinar.