Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Thursday, January 23, 2014

Using Android Virtual Device (AVD) Emulator on Linux

Scenario: under Linux, setup Android SDK, to be able to use an AVD (android virtual device) to test any given .apk - without using an IDE like Eclipe.

Preparing the system

# cd /opt (or any preferred install directory)
# wget ADT_DOWNLOAD_LINK
# unzip ADT_VERSION.zip
# chown -R your_user.your_user adt-bundle-linux-SYSTEM-VERSION

# ln -sf /opt/adt-bundle-linux-SYSTEM-VERSION/sdk/platform-tools/adb /usr/local/bin/adb
# ln -sf /opt/adt-bundle-linux-SYSTEM-VERSION/sdk/tools/emulator /usr/local/bin/emulator
# ln -sf /opt/adt-bundle-linux-SYSTEM-VERSION/sdk/tools/android /usr/local/bin/android


Using SDK GUI


$ android
will open SDK manager - use it if you want to install additional packages, including other targets/android versions for AVDs.

$ android avd
will open virtual devices manager - use to create/define/remove AVDs


Note 1
One may face difficulties to add specific brand emulators (ex: Samsung Galaxy S, Galaxy Tab, etc); you'll need to:
a) SDK manager > tools > manage add-on sites > user defined sites > new
OR
b) unzip/uncompress a downloaded add-on package in a new directory under sdk/add-ons/
(ref: http://developer.samsung.com/android/tools-sdks/Samsung-GALAXY-Tab-Emulator)


Note 2
AVDs do not support WiFi emulated connections, only 3G - so if you need to test i.e. a different behavior, likely your only option is to use a real/physical device
(ref: http://stackoverflow.com/questions/7876302/enabling-wifi-on-android-emulator)


Note 3
AppInventor 2 requires WiFi to work with the "MIT AI2 Companion" app (that syncronizes AppInventor with a device)


Note 4
By Jan/2014 AI2 doesn't support emulators under Linux, but to test your AppInventor .apk on an AVD, you can:
$ adb install your_package.apk (1st time)
$ adb install -r your_package.apk (when reinstalling)


Refs:
http://developer.android.com/tools/devices/managing-avds-cmdline.html
http://developer.android.com/tools/devices/emulator.html

Tuesday, May 11, 2010

a Motorola e o Android, MotoDev Summit 2010

Semana passada (5/5/2010) ocorreu o MotoDev Summit 2010 em São Paulo, no Hotel Transamérica. O evento, patrocinado pela Motorola, contou com sessões em diferentes linhas de foco, todas relacionados à adoção da plataforma Android para dispositivos móveis - dos aspectos técnicos aos de negócio. Estive lá, assistindo à diversas sessões, e devo parabenizar a Motorola por diversos motivos que passo a explorar à seguir.

1 - Visão de futuro

O Android acaba de ultrapassar o iPhone em vendas nos EUA. Ou seja, daqui para frente, será muito fácil defender o modelo de mobilidade proposto pelo Google - mas vamos lembrar que a Motorola tomou a decisão de aderir ao Open Handset Alliance em Nov/2007.

O Android não é só um bom negócio para a Motorola. Dados apresentados por Christy Wyatt na sessão de abertura dão conta de que, antes mesmo de superar o iPhone em vendas, os dispositivos móveis que rodam o sistema operacional aberto do Google já transferiam mais dados na rede do que todos os outros móveis juntos - o que nos mostra o potencial de negócio também para as operadoras, uma vez que ainda existem mais iPhones que Androids em funcionamento.

Outro detalhe chama atenção: a palavra "ecossistema" apareceu recorrentemente durante as sessões, principalmente as voltadas para o negócio. O termo é utilizado para definir a relação entre a Motorola, as operadoras e os desenvolvedores de aplicações independentes - estes últimos claramente o foco do evento, com direito à expressões do tipo "a Motorola está investindo em vocês" (a platéia era formada principalmente por programadores independentes e empreendedores). Esse cenário me lembrou a quebra de paradigma descrita por Eric Raymond em seu clássico livro "The Cathedral and The Bazaar", no qual ele prevê que o modelo tradicional de desenvolvimento de software (produzido por "Catedrais" gigantes e onipresentes) será substituído por um modelo mais horizontal, fragmentado e customizado (softwares produzidos por empresas menores e mais especializadas, negociando como que numa feira).

2 - Ações planejadas de acordo com a visão

Destaque aqui para o "MotoDev Studio for Android", a plataforma integrada de desenvolvimento (IDE) baseada no Eclipse e patrocinada pela Motorola, cujo objetivo é facilitar a vida do desenvolvedor. Detalhe importante: nela se escrevem aplicativos para qualquer dispositivo rodando Android - não apenas Motorola, mas também HTC, LG ou quaisquer outros fabricantes do hardware. Isso é ser coerente com a adoção de um padrão verdadeiramente aberto. Não basta disponibilizar gratuitamente o SDK, como os outros fizeram antes.

3 - A escolha correta

Em pouco tempo, a maior parte do tráfego na Internet ocorrerá em função de dispositivos móveis. Isso incluirá tráfego sensível e potencialmente valioso para a ação de estelionatários digitais. Ou seja - se hoje estamos atordoados com os vírus atingindo notebooks e desktops, muito em breve estaremos às voltas com o mesmo tipo de ameaça aos celulares.

O Android tem uma arquitetura especialmente robusta para resistir à códigos maliciosos. Cada aplicação roda com seu próprio usuário, sua própria instância JVM, e há uma completa estrutura de controle para acesso à dados compartilhados. Essa não é a solução para todos os nossos problemas, pois ainda resta a engenharia social e os erros humanos triviais (inclusive os de programação). Mas se compararmos a arquitetura do Android com as outras opções, veremos que este está anos-luz à frente dos demais.

A revolução digital está apenas começando.