Solução – Error building Player: Win32Exception… apkbuilder.bat

Faz pouco tempo que descobri o Unity 3D, busquei tanto por materiais gratuitos na internet quanto pelos pagos, livros, cursos, apostilas, fóruns e vídeos. As coisas estavam indo bem, até eu decidir desenvolver aplicativos para plataforma androide. Assisti a todos os vídeos disponíveis no youtube relacionados a como configurar a ferramenta para trabalhar com o SDK Androide e tudo parecia muito fácil.

Eu consegui instalar o Unity 3D e configurar o Android SDK para compilar o “qualquercoisa.apk”, e funcionou beleza, o arquivo “qualquercoisa.apk” foi gerado e  eu consegui instalar ele no meu celular, mas não conseguia executá-lo, quando tentava ver o game gerado no Unity 3D a tela do meu aparelho celular ficava preta e depois o game fechava. Depois de algumas tentativas decidi analisar minha estrutura com a que vi nos tutoriais.

OBS: esse erro apareceu após copiar o arquivo aapt.exe da pasta *AndroidSDK\platforms\ para *AndroidSDK\platforms\android-17 na tentativa de resolver um erro anterior a ausência do apkbuilder.bat

*AndroidSDK é um nome ficitício para o local onde estão os arquivos do Android SDK baixados do site http://developer.android.com/sdk/index.html

Minha estrutura

Windows 7 Home Basic
Sistema Operacional 64bits
Unity 3D – versão 4.1.5
*Configuração PlayerSettings para Androide no Unity 3D -> Other Settings -> Configuration -> Device Filter: AMRv7 only
Androide SDK Revision 22.0.1 (May 2013)
Samsung Galaxy 5 – Froyo 2.2.2

Estrutura das Vídeo Aulas

Windows 7 Ultimate
Sistema Operacional 32bits
Unity 3D – versão 3.5.2
*Configuração PlayerSettings para Androide no Unity 3D -> Other Settings -> Configuration -> Device Filter: AMRv6 with VFP
Androide Revision 21.1 (February 2013)
Samsung Galaxy 5 – Froyo 2.2.2

* Atenção a opção Device Filter em PlayerSettings, por ser este um ponto crítico na configuração.

Não tive problemas para instalar o Java e configurar as variáveis de ambiente, nem tão pouco em baixar o Unity 3D e o SDK Androide, a dificuldade era gerar um arquivo.apk que funcionasse. Depois de varrer o google descobri que minha versão do Unity 3D só possuia o Device Filter AMRv7 e só gerava arquivos.apk para aparelhos mais potentes como os tablets.

AMRv7 disponível em todas as versões do Unity 3D com suporte a Androide
AMRv6 with VFP disponível apenas nas versões 3.x.x do Unity 3D com suporte a Androide

Decidi baixar a mesma versão do Unity 3D 3.5.2 vista no vídeo e pra minha alegria lá estavam duas opções para Device Filter a AMRv7 e AMRv6 with VFP.

print003

Depois de alterar minha opção do Device Filter para AMRv6 with VFP que é compatível com meu celular Galaxy Froyo 2.2.2 e configurar a pasta onde estavam os arquivos SDK Androide novamente … (Edit -> Preferences -> External Tools ->  Android SDK Location o erro: Error building Player: Win32Exception: ApplicationName=’C:/Program Files (x86)/Android/android-sdk\tools\apkbuilder.bat’,… apareceu!

Descobri que o problema estava no fato de apkbuilder.bat ter sido removido do Android SDK Revision 22.0.1 (May 2013), até aí foi fácil, mas qual seria a solução? Perdi duas noites tentando encontrar uma solução, fiz uma pesquisa brutal no google sobre o assunto, mas nada que me desse resultados, a não ser o fato de que eu precisava desse arquivo, o apkbuilder.bat, mas como encontrá-lo?

Achei até um link com o apkbuilder.bat e um apkbuilder.jar, mas mesmo assim não funcionou. Me enganei achando que a solução estava apenas em ter uma versão 3.x.x do Unity 3D eu precisaria também ter uma versão anterior do Android SDK.

A versão do SDK do vídeo era SDK Tools, Revision 21.1 (February 2013), mas no site http://developer.android.com/sdk/index.html não existe nenhum link onde seja possível baixar versões anteriores do SDK. Após mais algumas pesquisas descobri que essas versões anteriores estão no mesmo local de onde o SDK faz seus downloads e atualizações, no repositório, mas não existe uma página bonitinha para isso, ou você sabe o endereço certo ou vai “morrer na praia”.

Descobri o endereço: http://ssl.google.com/android/repository/tools_r20-windows.zip  e foi por aqui que consegui fazer o download de uma versão anterior a SDK Tools, Revision 22.0.1 (May 2013).

A única coisa que vem nesse arquivo zipado é a pasta tools, ao extrair os aquivos, puder ver para minha alegria que lá estava o aquivo apkbuilder.bat.

Passos para o sucesso:

Exclua os arquivos do SDK existente ou desinstale caso tenha utilizado o instalador do SDK para windows.
Criei uma pasta C:\androidsdkx86 e extraí os aquivos de tools_r20-windows.zip  para dentro dela.
Executei o arquivo C:\androidsdkx86\tools\android.bat e foi exibida a tela de “instalação” do SDK. (na verdade ele faz o download dos arquivos necessários para desenvolvimento nessa plataforma).
Tela Instalação do SDK

Instalei apenas os arquivos visto na imagem e toda a pasta Extras. Veja que o arquivo apkbuilder.bat é deletado automaticamente durante o update vista na segunda linha da imagem. Não se preocupe essa ainda é a Rev. 20 mas com as atualizações da Rev.22.

Quando o SDK terminar de baixar e instalar todos os pacotes necessários, extraia novamente os aquivos de tools_r20-windows.zip  para dentro de C:\androidsdkx86\. Se aparecer alguma mensagem de deseja substituir confirme e pronto. Veja que o arquivo apkbuilder.bat voltou novamente.

Dessa forma será possível compilar seu game e gerar o apk para ser instalado em qualquer aparelho androide com processadores AMRv6 ou AMRv7.

Anúncios
por Ecio Ferreira Postado em Unity 3D

6 comentários em “Solução – Error building Player: Win32Exception… apkbuilder.bat

    • É isso aí, que bom poder contribuir com a comunidade! Espero um dia poder fazer muito mais… Fiquei tão contente com seu comentário que vou aproveitar a oportunidade, para por a tradução aqui abaixo:

      “Estou sem palavras de como é grande este artigo é. O conteúdo é simples de entender e muito envolvente. Esta é de longe um dos melhores conteúdos que já vi.”

      Obrigado pela visita!

Os comentários estão desativados.