Bluestacks como emulador Android para Delphi/C++ Builder

Posted by on in Blogs
Um tema recorrente nas rodas de conversa sobre mobile é a performance (ou não performance) do emulador Android do Google (utilizado por default pelo Delphi e C++ Builder).

Eis que surge uma solução muito interessante (e de ótima performance): a utilização de máquinas virtuais com Android.

Uma delas é o BlueStacks (http://www.bluestacks.com/). A instalação não tem segredo algum, basicamente um NNF (Next-Next-Finish).

Se você está utilizando um PC com Windows, basta reiniciar o "adb" (debug bridge, parte do SDK do Android), e sua VM Android já estará disponível para a IDE do Delphi ou C++ Builder, devidamente listada como um emulador.

Reiniciando o adb, diretamente via comando de linha:
adb.exe kill-server
adb.exe devices

Caso esteja rodando seu Delphi em uma VM Windows, em um equipamento MAC, o ideal é instalar o BlueStacks no sistema root, ou seja, no OSX. Neste caso, para que a IDE (dentro da VM Windows) consiga "ver" o emulador, é necessário um pequeno truque utilizando o Putty (emulador de terminais), descrito com riqueza de detalhes neste post do Jim McKeeth: http://delphi.org/2013/09/debugging-against-a-remote-android-emulator/. É exatamente a mesma técnica a ser aplicada ao BlueStacks.

E por fim, mas não menos importante:

O BlueStacks é um emulador Intel (não ARM), porém vem equipado com o LibHoudini (camada de emulação ARM para processadores mobile Intel). Este projeto é mantido pela própria Intel, para resolver a disponibilidade de apps para Android/Intel. Em outras palavras, este emulador roda normalmente apps ARM (geradas pelo Delphi e pelo C++).

O único detalhe é, antes de tentar executar a aplicação, vá até a opção deployment, e desmarque o assembly de checagem automática de plataforma, incorporado pela IDE a sua aplicação:



E aqui o resultado, uma app Delphi com IBLite rodando no BlueStacks:



Lembrando que alguma incompatibilidade ainda pode aparecer (não testei todas as apps que tenho), e que não é oficialmente suportado pela Embarcadero neste momento, recomendo a todos que estão desenvolvendo para mobile reservar algum tempo para testar, em algumas ocasiões me pareceu ainda mais rápido que um device físico!

Até a próxima!


Comments

  • Cassio
    Cassio Saturday, 15 July 2017

    Pra eu entender melhor, estou usando o Android AVD Mananger, uso o Intel HAXM para virtualizar, o meu emulador (Intel Atom x86 ou x86_64) rodam muito bem, e rápidos, porém no Delphi não consigo rodar nada neles, isso porque o Delphi não Compila pra essa Arquitetura? Ou na verdade estou com problemas de configuração incorreta no Delphi?

    Quando Compilo o meu App, aparece a mensagem: "Application does not support this device".
    E no Delphi apresenta a seguinte mensagem: "run-as: exec failed for lib/gdbserver: No such file or directory"
    Se desmarco o ARM em Projet/Deployment aparece a seguinte mensagem:
    Failed to install D:\Projetos\TESTES\TesteMobile\Android\Debug\TesteMobile\bin\TesteMobile.apk:
    Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

    Sou iniciante em Delphi para Mobile, mas já programo em Delphi (VCL) a 3 anos.
    Desde já obrigado.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: