Android

22 nov, 2016

As aventuras no mundo de Tizen: Parte 01

Publicidade
Recentemente, eu adquiri um Gear S2 por conta de uma vontade louca de ter um SmartWatch e por passar uma semana com um LG G Watch com Android Wear. No final das contas, optei pelo Gear S2 por dois motivos:
  1. A maior independência em relação ao smartphone (não estava considerando o recente Android Wear 2 aqui)
  2. Ele fica melhor no meu pulso (sério, eu tenho os pulsos muito finos e esse é o que me deixa menos PowerRanger usando)

foto-2

Eu realmente gostei dele, mas tem um pequeno problema: poucos apps disponíveis. Aqui no Brasil nem os apps pagos estão disponíveis (ainda). Isso não estava me incomodando muito, até eu buscar um tipo de app que uso bastante e que seria muito bom ter disponível como standalone no relógio e… não encontrar.

Então, eu tive uma brilhante ideia: vou fazer o app eu mesma \o/

E aí a aventura começa…

A primeira coisa que fiz foi ir atrás de um Quick Start da vida, direto no site de desenvolvedores do Tizen e ali eu sofri um pouco porque algumas instruções e alguns prints estão desatualizados e a sessão de Troubleshooting fica apartada de todo o resto (why, Samsung? WHY?!), sem falar na volta que é preciso dar para conseguir efetivamente executar um app no device e mesmo no emulador (pois é, no emulador).

Depois do sofrimento inicial, resolvi escrever um guia mais direto e rápido aqui, atualizado com a última versão da IDE (2.4.0_Rev6) e do SDK (na verdade, estou com 2 versões de wearable instaladas aqui: 2.3 e 2.3.1).

O que vou mostrar aqui nessa parte 01 é o setup da Tizen IDE e o processo de deploy de um app em um dispositivo ou emulador (vamos usar algum app sample que a Samsung disponibiliza).

1. Setup da Tizen IDE

Primeiro, faça o download da IDE e do CLI neste link. Na instalação não tem segredo: só dar os 2 cliques no arquivo de instalação e pronto!

Para instalar o CLI, se você estiver no Windows, é também só dar 2 cliques no arquivo de instalação e ele abre o prompt para você. Se for Linux ou Mac OS, você precisa dar um chmod +x no arquivo e mandar executar. Vai aparecer uma tela assim:

foto-1

Aí, é o básico do verão: ir respondendo Y ou n conforme as opções aparecem.

Pegadinha do malandro: quando ele perguntar se você aceita instalar no local padrão que ele mostra e você já tiver instalado a IDE, ele vai falar que não pode porque o diretório não está vazio, então indique outro local. No meu caso, eu coloquei em tizen-sdk/cli.

Com isso feito, você pode baixar e atualizar os SDKs que vai utilizar. É só ir onde está instalada a IDE e abrir o Update Manager (ou fazer uma busca entre os aplicativos instalados no seu computador).

A carinha dele é essa:

foto

Como o objetivo é fazer um app para o Gear S2, instale os SDKs de Wearable (obs.: só o 2.3.1 é compatível com o Gear S2):

foto-1

Depois disso, você pode abrir sua Tizen IDE e dar uma conferida. Como é baseada no Eclipse, não há nada de novo no processo de abrir projeto e escolher workspace.

foto-2

2. Conectando seu dispositivo ou usando o emulador

Vou começar pelo emulador que é um processo um pouco mais simples.

Primeiro, clique no Emulator Manager, dentro do Connection Explorer:

foto-3

Ele vai abrir o Manager, de onde se pode criar, remover e iniciar emuladores:

foto-3

Vá em Create New Emulator >> wearable:

foto-4

Aqui é simples: escolha o 2.3.1 e clique em Confirm.

foto-5

Então, você verá o novo emulador na lista. Volte para essa tela sempre que quiser iniciá-lo:

foto-6

Se você clicar no botão de play ali, o emulador inicia e aparece na janela do Connection Explorer:

foto-7

Obs.: o emulador leva um tempinho pra dar boot no Tizen, é normal.

Ok, emulador rodando e disponível. Agora vamos para a parte um pouco mais trabalhosa…

Conectando o GearS2 à IDE

Bom, você deve saber (ou vai descobrir agora) que o GearS2 não tem nenhuma entrada USB já que é carregado por indução. Então, para poder acessar o dispositivo pela IDE, seu relógio precisa estar na mesma rede WiFi que seu computador (a Samsung tem um guia em PDF com o passo-a-passo).

Basicamente, você precisa colocar o relógio em modo de depuração (debugging) e anotar o IP dele.

foto-8

foto-9

Obs.: imagens do próprio PDF da Samsung.

Com isso feito, volte para a janela do Connection Explorer, abra o Remote Device Manager e clique em Scan. Ele vai procurar todos os dispositivos disponíveis em modo de depuração que sejam compatíveis com a IDE. Então, você seleciona seu GearS2 (pelo IP) e clica em Connect.

foto-10

Seu GearS2 vai exibir uma tela para que você confirme a conexão com o texto “RSA key fingerprint” mais o valor da chave enviada. Ao aceitar, você vai poder ver seu relógio lá na janela do Connection Explorer:

foto-11

Repare que, se o emulador estiver ligado, a IDE entende que ele também é um dispositivo remoto e acaba aparecendo duplicado (ainda não sei por que; vou pesquisar).

Pronto, agora seu GearS2 já é reconhecido!

Depois da primeira conexão, seu relógio não vai mais precisar confirmar o acesso, então, quando você mandar conectar nele pelo Remote Device Manager, ele já vai direto pra janela do Connection Explorer.

3. Gerando os certificados necessários

Agora há o truque final necessário: colocar no dispositivo um certificado que indique seu uso para desenvolvimento. Ou seja, se você está desenvolvendo um app e quer testá-lo, você só consegue instalá-lo nos dispositivos de teste se eles tiverem o certificado. Mesmo que seja um emulador.

Isso mesmo.

Você está rodando o emulador direto da IDE, que serve para desenvolvimento, e precisa certificar o emulador que você mesmo acabou de criar para poder executar o aplicativo. É…

Enfim…

Antes de tudo, você precisa de uma conta de desenvolvedor, que você pode criar aqui.

Edit 24/05/2016: Também é necessário instalar os pacotes de Extras que estão no Update Manager, que darão a sua IDE a capacidade de registrar certificados. Instale os pacotes Samsung Certificate Extension e Wearable Extension for 2.3.1:

 screen-shot-2016-05-24-at-1-16-12-pm-1

Então, a IDE, você precisa clicar em Register Certificate, um botãozinho que fica meio escondido na barra de ferramentas:

foto-4

Na tela que aparece, você deve indicar para qual tipo de device seria o certificado, seu perfil de segurança, seu certificado de autor e um certificado de distribuição (esse é o que efetivamente registra os dispositivos que serão usados para teste).

foto-12

Escolha Mobile/Wearable (afinal, você vai desenvolver para o GearS2) e no Step 2 clique em New. Então, dê um nome ao Security Profile:

foto-13

A vantagem disso seria poder criar perfis distintos para cada aplicativo ou grupo específico de pessoas (por exemplo, se o app é interno da empresa) que teria acesso ao app.

Ali no passo 3, você irá gerar seu certificado de autor. Clique em Create New Certificate.

Precisa de nome e senha para geração da chave que garantirá que você é um autor autorizado.

foto-14

Clique em Request e, agora, sua conta da Samsung entra no jogo:

foto-2-1

Basta fazer o login e seu certificado será gerado:

screen-shot-2016-05-23-at-10-17-39-am-1

É necessário também gerar os certificados específicos de cada dispositivo. Clique em Create New Certificate e dê uma conferida na tela:

screen-shot-2016-05-23-at-10-21-04-am-1

Para gerar esse certificado, você precisa do DUID, uma identificação única dos dispositivos que rodarão o app em desenvolvimento. A IDE já vai exibir os dispositivos que estão conectados e você pode clicar em Add que automaticamente ela recupera os DUIDs necessários.

screen-shot-2016-05-23-at-10-23-53-am-1

Então, clique em Request e faça seu login na conta da Samsung novamente.

Pronto: seus certificados serão registrados pela Samsung:

screen-shot-2016-05-23-at-10-24-51-am-1

screen-shot-2016-05-23-at-10-24-59-am-1

Se você precisar incluir outros dispositivos mais tarde, basta clicar novamente em Register Certificate e, no passo 4, clicar em Replace. Você vai poder gerar outro certificado de distribuidor, acrescentando os dispositivos a mais.

Outro meio de recuperar o DUID do dispositivo é ir lá na janela do Connection Explorer, clicar com o botão direito no dispositivo, ir em Properties e copiar de lá:

screen-shot-2016-05-23-at-10-39-39-am-1

screen-shot-2016-05-23-at-10-38-55-am-1

Agora é necessário colocar o certificado no Gear S2, para que ele esteja apto a receber o app (caso contrário, um erro será exibido e vai te impedir de fazer o deploy do app).

Novamente no Connection Explorer, clique com o botão direito em Permit to install applications e, finalmente, seu dispositivo está pronto!

screen-shot-2016-05-23-at-10-43-06-am-1

screen-shot-2016-05-23-at-10-43-32-am-1

4. Rodando o app no dispositivo

Hora de testar um app enviado direto da IDE para o GearS2. Pra isso, clique em File >> New >> Tizen Web Project:

screen-shot-2016-05-23-at-10-44-47-am-1

Escolha Online Sample e veremos uma lista de apps que a própria Samsung disponibiliza para teste. Filtre por Wearable e vamos escolher o (Circle) Calculator. Repare que você deve fazer download do projeto, na janela de descrição, no botão à direita.

Então, dê um nome ao projeto, selecione a versão 2.3.1 (que é a compatível com o Gear S2) e clique em Finish.

screen-shot-2016-05-23-at-10-51-41-am-1

Agora, clique com o botão direito no projeto em Project Explorer e em Run As >> Tizen Web Project.

screen-shot-2016-05-23-at-10-49-54-am-1

Isso vai fazer o build do projeto e enviar para o relógio. Você pode acompanhar o status no canto inferior direito da IDE:

screen-shot-2016-05-23-at-12-42-02-pm-1

Assim que terminar o processo, o app estará no seu relógio. Basta ir ao menu de aplicativos dele e executar:

foto-3-1

foto-4-1

E assim você acaba de fazer seu primeiro deploy no Gear S2.

No próximo artigo eu entro em detalhes sobre o app que vou fazer e, conforme ele for saindo do papel, vou fazendo artigos de acompanhamento.

Críticas, dúvidas ou sugestões são bem vindas.