quarta-feira, 3 de agosto de 2011

Como subir uma app para o Android Market


Você sabe como colocar sua app no Android Market? Sabe o que deve ser feito? Bem, muitas pessoas estão perguntando e nós vamos mostrar, novamente, o que você precisa fazer.

Para simplificar, vamos falar apenas da publicação de apps gratuitas.

A primeira coisa que você precisa fazer é gerar o pacote final da sua app, ou seja, o seu "apk". Alguns cuidados devem ser tomados, entre eles:
  • Retirar toda a geração de log (remova arquivos, desative o código de geração de Log);
  • Se você está usando o atributo "android:debuggable="true"", no tag <application>, do "AndroidManifest.xml", marque como "false" ou retire o atributo;
  • Modifique os atributos: "android:versionCode" e "android:versionName", do tag <manifest> no "AndroidManifest.xml", para as versões corretas. Isto é de fundamental importância, especialmente se você está gerando uma atualização;
  • Verifique os atributos: "android:icon" e "android:label" do tag <application>, no "AndroidManifest.xml", para a versão de produção. Verifique se o ícone e o título estão corretos, de modo a evitar "mico" de publicar atualização;
Você tem que ter certeza que está com a versão de "produção" pronta. Sugerimos que você utilize um software e SCM (Software Configuration Management), que gerencie versões e rótulos, como o Subversion. Marque a versão de produção com um rótulo, faça "commit" e gere uma versão exclusiva para subir para o Android Market.

Assinatura do código

A assinatura digital de uma aplicação protege seus usuários ao garantir que ela é autêntica e que não foi adulterada.

Um detalhe muito importante é que, aplicações assinadas pelo mesmo certificado podem compartilhar o mesmo processo e os mesmos dados. Tenha isto em mente antes de decidir o que vai fazer.

Antes de instalar é necessário assinar digitalmente o seu APK. Se você não fizer isto, não poderá instalar via ADB, embora seja possível executar copiando o APK diretamente para seu dispositivo. A tendência do projeto Android é acabar com o uso de aplicações sem assinatura digital, logo, recomendamos que você sempre assine.

Para assinar, é preciso um certificado digital de Code Signing ou Assinatura de Código (para saber mais: http://www.di.ufpe.br/~flash/ais98/cripto/criptografia.htm). Você tem duas opções: adquirir um certificado emitido por uma Autoridade Certificadora reconhecida, ou criar um certificado auto-assinado. Para adquirir um certificado de assinatura de código, você pode procurar boas empresas, como estas abaixo:
  • Serasa: Validade 12 meses: R$ 1.255,20 (*)
  • Verisign: Validade 12 meses: US$ 499,00 (*)
  • Thawte: Validade 12 meses: US$ 299,00 (*)
(*) A validade e os preços podem variar. Estas cotações estavam disponíveis on-line (nas páginas das empresas) e foram obtidas em Junho de 2011.

Existem várias empresas no Brasil, como a Comodo, a CertSolutions e a Certisign, e você pode contatá-las para obter informações sobre certificados de Code Signing para aplicações Java.

Há um baita problema a ser resolvido: as regras do Android Market exigem um certificado que seja válido até 2033! E não sei se alguma autoridade certificadora vai emitir um certificado assim... Talvez as regras mudem, sei lá...

Certificado auto-assinado

Você pode emitir um certificado e assinar seu código com ele. Isto garante que o seu código não foi violado, mas apenas para você mesmo. Porém, quem garante aos outros que você é quem diz ser? Quem garante que o Certificado realmente pertence a você? É por isso que recomendamos a aquisição e uso de um certificado de Assinatura de Código emitido por uma empresa reconhecida.

A compra e instalação de um certificado de Assinatura de Código é um processo complexo. Futuramente, quando tivermos "grana" para ter um destes, vamos publicar um artigo explicando este processo.

Porém, os custos são altos. Nós mesmos não tivemos condições de comprar um certificado desses até agora! Estamos usando certificado auto-assinado em nossas aplicações.

E para desenvolvimento e teste esta é a melhor opção. Se o seu produto for remunerado, então pode comprar um Certificado e diluir o custo na formação do seu preço. O ADT ajuda você a gerar um certificado auto assinado.

Gerando um pacote APK assinado

Selecione o seu projeto na janela "Package Explorer" (ou "Project Explorer"), da sua workspace "eclipse", clique com o botão direito. No menu de contexto, selecione "Android tools" e "Export signed application package" (exportar pacote de aplicação assinado). A janela "Export Android Application" vai aparecer e você deverá selecionar seu projeto e clicar "next".

Se você já possui uma "keystore" (um arquivo que armazena certificados) e sabe a senha, então é só informar o caminho e digitar a senha. Agora, se ainda não tem uma "keystore", deve criar uma. Preencha os dados da tela e guarde muito bem a senha escolhida. Tome cuidado com o campo "Validity (years)", pois o Android Market exige que o certificado expire depois de 22 de Outubro de 2033.

Pronto! Seu APK está gerado e assinado.

Independentemente da decisão que você tomar (comprar ou gerar um autoassinado), você deve guardar bem o certificado (a keystore) que usou para assinar a aplicação, pois o Android Market associa a aplicação ao certificado e, se você não assinar com o mesmo certificado, não poderá publicar atualizações.

Screen captures

Você vai ter que providenciar 2 imagens de tela ou "screen captures" do seu aplicativo. Isto pode ser feito no "eclipse", através da view "Android / Devices", usando o ícone de "máquina fotográfica", no canto superior direito da view. 

O importante é que estas imagens devem ter um dos quatro formatos: 320 x 480, 480 x 800, 480 x 854 ou 1280 x 800 pixels.

Hi-res icon

Você precisa ter um ícone de alta resolução da sua aplicação: 512 x 512, com no máximo 1 mega. 

Juntando tudo

Você deve acessar a console do desenvolvedor, subir o APK (aba "arquivos APK"), subir as duas imagens de tela, o ícone de alta resolução, e preencher as informações sobre sua aplicação. No final, você clica em "publicar" e pronto!

Não é imediato! Você tem que aguardar algum tempo, que pode variar de minutos até horas!

Nenhum comentário:

Postar um comentário