quarta-feira, 9 de janeiro de 2013

Como descompilar e compilar um Apk

Fala ae galera ligada no Galaxy Y Club Brasil. Hoje eu vo mostrar uma coisa que pode ajudar muito aos desenvolvedores Brasileiros a deixarem roms PT-BR e também isso permite que possamos fazer edições em nossos apks. Esse tutorial é muito útil, só descompilando um apk nós podemos: Editar, Traduzir e acrescentar novos códigos nele. Eu mesmo estou traduzindo tudinho para poder fazer uma ROM PT-BR. Vamos lá aprender? huhauhua



Requesitos

Tutorial

Baixe e instale o Java

Primeiro, baixe o APK Manager disponibilizado acima e extraia na sua Desktop

Depois, pegue o APK qual você quer traduzir ou editar e ponha na pasta Place-apk-here-for-modding

Após isso, volte uma pasta e abra o Script.bat

Primeiramente, digite 22 e dê enter

Selecione o número do APK que deseja traduzir ou editar e dê enter

Depois, digite 9

Aguarde

Olhe a pasta Projects, dentro dela tem uma pasta com o nome do seu APK. Ele está descompilado lá dentro.

Modifique o quiser (acese a pasta /res/values/abra o arquivo Strings e traduza o que quiser


Faça edições necessárias


Abra o Script novamente caso tenha fechado

Digite 11 e vá confirmando, conforme o App for (se é de sistema, etc.), sempre digitado Y ou N

Após compilar, assine o App, digitando 12

Pronto! Seu APK estará em place-apk-here-for-modding, com o nome ***-signed.apk

19 comentários:

  1. estou tendo dificuldade em re-compilar o apk editado, tenho todos os requisitos instalados, uso o win 7 mas não consigo compilar usando o código 11
    aparece a seguinte mensagem:
    "An Error Occured, Please Check The Log (option 21)"

    se você poder me ajudar eu agradeço

    ResponderExcluir
    Respostas
    1. se você tirou o apk descompilado da pasta projects vai dar erro mesmo.

      Excluir
    2. não tirei não amigo, percebi algo tambem, quando vo descompilar aparece esse erro:
      "An Error Occured, PLease Check The Log (option 21)"
      o mesmo erro

      tentei usar o auto apk tool mas não funciona tambem, verifiquei o java que estva instalado percebi que não estava configurado, então configurei mas dá o mesmo erro, o android SDK tambem está instalado

      Excluir
    3. Então..... manda o log pra gente poder ver o erro '-'

      Excluir
    4. a tradução do erro pedia pra mim verificar o log digitando 21
      log abaixo:

      --------------------------------------------------------------------------
      |09/01/2013 -- 21:43:41,70|
      --------------------------------------------------------------------------
      java version "1.8.0-ea"
      Java(TM) SE Runtime Environment (build 1.8.0-ea-b42)
      Java HotSpot(TM) Client VM (build 24.0-b13, mixed mode, sharing)
      NÆo foi poss¡vel encontrar C:\android-sdk-windows\apk_manager\place-apk-here-for-modding\../place-apk-here-for-modding/signedframework-res.apk
      NÆo foi poss¡vel encontrar C:\android-sdk-windows\apk_manager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedframework-res.apk
      I: Loading resource table...
      W: Config flags size > 32. Exceeding bytes: 0000D002.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR0
      W: Config flags size > 32. Exceeding bytes: -3FFD0000.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR1
      Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x01050001 dimen/thumbnail_height, config=-v13
      at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
      at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
      at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)
      at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165)
      at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
      at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:105)
      at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
      at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
      at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:315)
      at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:50)
      at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:43)
      at brut.androlib.Androlib.getResTable(Androlib.java:44)
      at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
      at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
      at brut.apktool.Main.cmdDecode(Main.java:120)
      at brut.apktool.Main.main(Main.java:57)

      Excluir
  2. 2 coisas, primeiro, você instalou os frameworks? Segundo, pra que editar o framework-res.apk?

    ResponderExcluir
    Respostas
    1. você pedio o erro de log e eu peguei i "framework-res.apk" para produzir o erro, pois esse erro acontece em todos apk que tendo editar

      Excluir
    2. foi o que eu estava pesquisando aqui, baixei o framework .NET 4 e reparei, vou reiniciar e dormir, amanhã eu tento, agora se for outro framework que tem que instalar, me passe o nome ou o link

      fico agradecido pela tenção muito obrigado

      Excluir
    3. copie a pasta other pra raiz do seu disco C, agora, pegue o framework-res.apk twframework-res.apk de alguma rom ai e passe pra raiz do disco C também, agora abra o cmd e digite:
      cd/
      cd other
      apktool if C:\framework-res.apk
      apktool if C:\twframework-res.apk

      E pronto, você instalou os frameworks no pc.

      Excluir
    4. Este comentário foi removido pelo autor.

      Excluir
    5. consegui amigo, fiz um teste com um apk de pesquisa da google.
      descompilei, mudei a versão e depois compilei, instalei no meu android e a versão tava mudada embora eu acho que ainda tem erros no processo
      aqui está o log:

      --------------------------------------------------------------------------
      |10/01/2013 -- 20:15:45,35|
      --------------------------------------------------------------------------
      java version "1.8.0-ea"
      Java(TM) SE Runtime Environment (build 1.8.0-ea-b42)
      Java HotSpot(TM) Client VM (build 24.0-b13, mixed mode, sharing)
      NÆo foi poss¡vel encontrar C:\android-sdk-windows\apk_manager\place-apk-here-for-modding\../place-apk-here-for-modding/signedGoogle_Search_1.3.3.247963.apk
      NÆo foi poss¡vel encontrar C:\android-sdk-windows\apk_manager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedGoogle_Search_1.3.3.247963.apk
      I: Baksmaling...
      I: Loading resource table...
      W: Config flags size > 32. Exceeding bytes: -43FE0000.
      W: Invalid config flags detected. Dropping resources: layout-v13-ERR0
      W: Config flags size > 32. Exceeding bytes: -17FD0000.
      W: Invalid config flags detected. Dropping resources: integer-v13-ERR1
      W: Config flags size > 32. Exceeding bytes: 0000BC02.
      W: Invalid config flags detected. Dropping resources: integer-v13-ERR2
      W: Config flags size > 32. Exceeding bytes: -17FD0000.
      W: Invalid config flags detected. Dropping resources: bool-v13-ERR3
      W: Config flags size > 32. Exceeding bytes: -BFF0000.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR4
      W: Config flags size > 32. Exceeding bytes: -43FE0000.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR5
      W: Config flags size > 32. Exceeding bytes: -17FD0000.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR6
      W: Config flags size > 32. Exceeding bytes: -4FFC0000.
      W: Invalid config flags detected. Dropping resources: dimen-v13-ERR7
      W: Config flags size > 32. Exceeding bytes: -43FE0000.
      W: Invalid config flags detected. Dropping resources: style-v13-ERR8
      W: Config flags size > 32. Exceeding bytes: -17FD0000.
      W: Invalid config flags detected. Dropping resources: style-v13-ERR9
      I: Loaded.
      I: Loading resource table from file: C:\Users\Rodrigo\apktool\framework\1.apk
      I: Loaded.
      I: Decoding file-resources...
      I: Decoding values*/* XMLs...
      I: Done.
      I: Copying assets and libs...
      I: Checking whether sources has changed...
      I: Smaling...
      I: Checking whether resources has changed...
      I: Building resources...
      I: Building apk file...

      Excluir
  3. Aqui consigo decompilar sem erro...mais depois que edito e vou compilar dá erro.Na pasta RES,quais pastas de value eu tenho que editar? Tô querendo traduzir o settings.apk para pt-br.

    ResponderExcluir
    Respostas
    1. Dentro da pasta RES,crie a pasta value-pt-rBR.Dentro dessa pasta deverá ter as strings.xml com os valores pt-br.

      Excluir
  4. Manoo, tipo, eu instalei os frameworks no pc e talz, depois disso, quando eu aperto 9 pra descompilar, a janela some :S

    ResponderExcluir

Comente a postagem e agradeça, não cairá seu dedo