Create your blog and photo album with postbit
Create your blog and photo album

Create new post

Content:

Upload a picture:
Tags (keywords separated by comma)

Save Cancel
Rodrigo Siqueira rsiqueira:   Followers: 25 ; Following: 31

Explore Rodrigo Siqueira's photo albums:
Stamps (2)
Spanish Arabic Patterns (20)
Verona - Italy (41)
Florence - Firenze (42)
Inverno em Santiago (171)
Detalhes do Chile (74)

Como criar aplicativos para Android usando o PhoneGap




Tutorial: Como fazer apps para android

Instruções passo a passo para criar Android apps com o PhoneGap para Windows 7.
Com este método é possível criar aplicações para celular em html e javascript. Não precisa usar outras linguagens de programação como Java e não precisa entrar no Eclipse. É possível desenvolver aplicativos para Android usando apenas HTML5 e JS.
Estas instruções mostram todos os passos, desde os pré-requisitos, instalações e configuração do ambiente para desenvolvimento até como usar o Phonegap para gerar pacote apk final para Android e subir no Google Play Store.

Passo 1: Instale o NodeJS e o Android SDK:

Baixe o Node JS no site http://nodejs.org/

Baixe o Android SDK clicando em "Download Eclipse ADT with the Android SDK for Windows". Se baixar a versão para 64-bit, então o nodejs também precisa ser 64-bit (x64). Execute o Android SDK Manager e instale o "Android 4.4.2 (API 19) -> SDK Platform [x]" (para não aparecer o erro "Please install Android target 19").

Passo 2: Instale o phonegap à partir do npm (instalador de pacotes do NodeJS)

Comando para instalar o Phonegap:
npm install -g phonegap --loglevel info
Se tiver erros ("npm ERR! not ok code 0 / ERR Failed using git / not found git"), instale a versão anterior (3.4):
npm install -g phonegap@3.4

Passo 3: Entre no phongap (linha de comando) com o comando "phonegap" e crie seu aplicativo para testes:

$ phonegap create MyApp
Isso cria a aplicação HelloWorld na pasta "MyApp". Para criar aplicação com nome MyApp, utilize o comando completo passando também os parâmetros com o id e o nome do app:
$ phonegap create MyApp com.example.myapp MyApp
 
$ cd MyApp
$ phonegap run android
 
Este último comando (phonegap run android) deu erro: "ERROR: executing command ant, make sure you have ant installed and added to your path". Para resolver precisa baixar o "Apache ANT" (ant.apache.org) e descompactar dentro da pasta (criar a pasta manualmente):
C:\Program Files\ANT\
Criar variável de sistema "ANT_HOME" (variável de ambiente):
Start -> Computer (aperte o botão da direita do mouse) -> Properties -> System Properties -> Advanced ->  Environment variables -> System variables -> New -> New System Variable

Variable name: ANT_HOME
Variable value: C:\Program Files\ANT\apache-ant-1.9.4
Também editei a variável de sistema "PATH" nessa mesma tela, precisei adicionar ao final do PATH o valor ";%ANT_HOME%\bin" para o phonegap run android encontrar o ANT executável (ant.bat).

Instale o JAVA JDK para não ocorrer o erro "Error: Failed to run 'java -version', make sure your java environment is set up including JDK and JRE. Your JAVA_HOME variable is undefined".

Adicionar o java ao path:
No final do Path adicione o valor contendo o caminho do JDK/bin instalado: ";C:\Program Files (x86)\Java\jdk1.8.0_05\bin"
Para saber se o java.exe está no path, execute "java -version" para ver se aparece a versão do java.

Teste executando o comando "ant -v". Se aparecer o erro "Unable to locate tools.jar", então é necessário adicionar a variável JAVA_HOME para o ant funcionar, assim:
Variable name: JAVA_HOME
Variable value: C:\Program Files (x86)\Java\jdk1.8.0_05
Tente novamente rodar "ant -v". Se aparecer apenas "Buildfile: build.xml does not exist! Build failed", então é porquê FUNCIONOU corretamente o ant.
 
Rodei novamente o "phonegap run android" e agora apareceu um erro de cordova:
"Error: An error occurred while listing Android targets" e "\.cordova\lib\android\cordova\3.4.0\bin\create.bat: Command failed with exit code 8"
 
Para resolver precisa adicionar a variável de sistema ANDROID_HOME:
Variable name: ANDROID_HOME
Variable value: C:\android-sdk\sdk (pois foi aqui onde instalei o SDK do Android)
E também precisa editar a variável PATH para adicionar no final ";%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools"
Esse trecho ";%ANDROID_HOME%\platform-tools" precisa ser adicionado ao Path para não ocorrer o erro "Error executing adb devices: adb is not recognized as an internal or external command"
 
Agora funcionou melhor o comando "phonegap run android", apareceu "BUILD SUCCESSFUL" mas deu erro: "ERROR : No emulator images (avds) found". Pelo menos criou o arquivo APK em "./MyApp/platforms/android/ant-build/HelloWorld-debug.apk"
Para corrigir este problema, crie um emulador de Android (explicado no próximo passo). A sigla AVD significa Android Virtual Device.
 

Passo 4: Crie um emulador de Android para testar seu aplicativo

Utilize o comando:

android create avd --name test --target android-19

Em seguida rode novamente "phonegap run android" e aparecerá o emulador do Android com o aplicativo "HelloWorld" instalado (ver tela capturada do emulador do Android contendo o Hello World). Se ocorrer o erro "emulator: ERROR: This AVD's configuration is missing a kernel file", tente criar novamente o emulador.

Copiei o arquivo "HelloWorld-debug.apk" para um endereço na web, acessei com meu celular Android e consegui instalar corretamente.

Para o emulador ficar rápido, precisa instalar o Intel Hardware Accelerated Execution Manager (HAX ou HAXM).

Passo 5: Edite o conteúdo do seu aplicativo.

Na pasta 'www', pode editar os arquivos www/index.html, www/css/index.css e www/js/index.js

A cada vez que editar os arquivos (HTML/CSS/JS) com as páginas, pode usar o browser para testar e rodar novamente o comando phonegap run android para visualizar o app no emulador de android.

 

Passo 6: Criar o ícone da aplicação e Splash Screen (tela de abertura)

* Criar o Ícone (app icon):
O ícone é o arquivo icon.png que fica na pasta "www" do seu aplicativo. O tamanho é 128x128 pixels. Você pode substituir a imagem default (icone original) pela imagem que será o ícone da aplicação. IMPORTANTE: Substitua também a imagem "icon.png" em outras resoluções que estão nos diretórios "platforms/android/res/drawable-*". A pasta " drawable-xhdpi" foi onde coloquei o ícone que funcionou na instalação do aplicativo no meu fone celular android Motorola Moto G, pois usa a resolução XHDPI.
As pastas com ícones são:
platforms/android/res/drawable-xhdpi/icon.png (96x96 pixels)
platforms/android/res/drawable-hdpi/icon.png (72x72 pixels)
platforms/android/res/drawable-ldpi/icon.png (36x36 pixels)
platforms/android/res/drawable-mdpi/icon.png (48x48 pixels)
platforms/android/res/drawable/icon.png (96x96 pixels)
 
O ícone original (default) de aplicação feita com o phonegap é este:
Caso o ícone no emulador não mude (fique a imagem default ou ícone antigo ao invés da imagem que você criou), remova a pasta "ant-build" e execute novamente o comando "phonegap run android" e o ícone aparecerá atualizado.
 
* Para o aplicativo ter Splash Screen (tela de abertura) é necessário criar as imagens (em várias resoluções) com nome "splash.png".
Copiar as imagens (splash.png) para os diretórios:
platforms/android/res/drawable-ldpi/splash.png (small, 426x320 pixels)
platforms/android/res/drawable-hdpi/splash.png (large, 640x480 pixels)
platforms/android/res/drawable-mdpi/splash.png (medium, 470x320 pixels)
platforms/android/res/drawable-xhdpi/splash.png (extra large, 960x720 pixels)

Incluir esta linha no arquivo de configuração "www/config.xml":
<preference name="SplashScreen" value="splash" />
 
A tela inicial (splashscreen) aparece por 3 segundos. Se quiser mudar o valor, adicione esta linha na configuração xml com o valor desejado (ex: 3000 = 3 segundos):
<preference name="SplashScreenDelay" value="3000" />
 
OBS: As imagens VÃO FICAR DISTORCIDAS (ex: logotipo oval ao invés de redondo) dependendo da resolução do celular (problema de aspect ratio), então utilize o método 9-patch para criar os arquivos splash.png e renomeie todos os arquivos de "splash.png" para "splash.9.png" (não precisa mudar nada no xml). A maneira mais fácil para usar o método "9-Patch" é criar uma borda transparente de 1 pixel na imagem e marcar 4 pixels de preto e mais 2 linhas grandes pretas, conforme este modelo (amplie para ver os 4 cantos da imagem). Este exemplo de splash screen com png 9 patch eu peguei do meu diretório "platforms/android/res/drawable-hdpi":
 
Veja a ampliação das bordas da imagem splash acima.
Os pixels pretos (linha superior e lateral esquerda) definem o trecho da imagem que vai ser expandido (scalable area) e as linhas pretas (linha inferior e lateral direita) definem a área que vai ficar de tamanho fixo (fill area). Os pontos brancos e cinza são a transparência do photoshop.
 
Se ao rodar "ant release" aparecer o erro abaixo, mude o nome de "splash.9.png" para outro nome, como "mysplash.9.png" e mude também o www/config.xml na linha <preference name="SplashScreen" value="mysplash" /> 
 
Mensagem de erro:
     [aapt] res\drawable\splash.png:0: error: Resource entry splash is already defined.
     [aapt] res\drawable\splash.9.png:0: Originally defined here.
 

Passo 7: Gerar a versão para release do apk (sem extensão "-debug.apk"):

Ao gerar o apk, o nome ficou assim: "HelloWorld-debug.apk". Então precisa criar sua chave para produzir a versão final do apk (versão release).
 

7a) Criar pasta com arquivo keystore (ex: my-release-key.keystore) de senha para assinar sua aplicação.
Aprendi a fazer isso aqui: http://developer.android.com/tools/publishing/app-signing.html#cert
Comando para criar suas senhas ("keystore password" e "app_name password") no arquivo .keystore com validade de 20000 dias:
keytool -genkey -v -keystore my-release-key.keystore -alias app_name -keyalg RSA -keysize 2048 -validity 20000
(copie o arquivo gerado "my-release-key.keystore" para uma pasta segura)

7b) Criar arquivo "platforms/android/ant.properties" para dizer ao ant onde está seu keystore. Digite as duas linhas no "ant.properties" definindo a pasta para onde foi copiado seu arquivo e definindo o nome (alias/app_name) do seu aplicativo:
key.store = C:\Users\(usuario)\keystores\my-release-key.keystore
key.alias = app_name
 
7c) Executar os comandos para compilar a aplicação em modo release:
cd platforms/android
ant release

Esse comando "ant release" deve produzir a mensagem "BUILD SUCCESSFUL" e o arquivo final na pasta "bin":
platforms/android/bin/HelloWorld-release.apk
 
7d) Assinar a versão final:
cd bin
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /Users/(usuario)/keystores/my-release-key.keystore AppName-release-unsigned.apk app_name

Esse comando vai pedir sua senha e produzir mensagem "jar signed".
 
# Verificar se deu certo com o comando (que deve mostrar "jar verified." e mensagem de "warning certificate chain is not validated" que pode ser ignorada):
jarsigner -verify -verbose -certs AppName-release-unsigned.apk
Se der erro, vai aparecer: "jar is unsigned. (signatures missing or not parsable)"
 
7e) Rodar o zipalign para criar o arquivo apk final:
zipalign -v 4 AppName-release-unsigned.apk AppName.apk
Este comando deve produzir mensagem "Verification succesful" e salvar a versão final com nome "AppName.apk", que pode ser enviada (upload) para o Google Play.
 

Passo 8: Publicar o aplicativo no Google Play Store

 
 
 
Próximos passos:


* Como mostrar a barra de status do celular no topo da aplicação (habilitar barra para mostrar sinal, hora, status da conexão, nível da bateria, etc.)

Basta mudar no arquivo www/config.xml:
Onde estava:<preference name="fullscreen" value="true" /> (o default esconde o status bar)
Mudar para: <preference name="fullscreen" value="false" /> (isso mostra a barra de status)


* Fazer iframe funcionar mostrando site externo:

A primeira tentativa de visualizar página com iframe não funcionou ao tentar mostrar página externa (site de outro url). Iframe funciona no phonegap sem problemas para mostrar páginas dentro da própria aplicação. O problema foi que o arquivo de configuração MyApp/www/config.xml estava configurado para não permitir acessar páginas ou arquivos externos. Para corrigir o problema do iframe no phonegap:
Comentei a linha:
<access origin="http://127.0.0.1*"/>
Descomentei a linha:
<access origin="*" />


* Como compilar no PhoneGap um aplicativo feito no Sencha Touch:
(ainda não fiz)

Dicas:

* Emulador via browser Chrome: Instale a extensão do browser Chrome chamada "Ripple Emulator" para poder testar seus aplicativos ou visualizar páginas web como se estivesse usando um smartphone celular.

* Automatizar passos da compilação: (OBS: Não funcionou bem comigo!)
É possível automatizar os passos de criação da versão final do apk usando apenas o comando "ant release". A vantagem é que economiza alguns passos, não precisa entrar com a senha. Só precisei rodar o comando do "zipalign" para gerar a versão final. O método é:
Editar o arquivo platforms/android/custom_rules.xml, adicionando dicionar a linha logo abaixo a linha <project>:
<property file="C:\Users\(usuario)\keystores\my-release-key.private-password" />
Criar este arquivo "my-release-key.private-password"  contendo 2 linhas com suas senhas:

key.store.password=(sua senha)
key.alias.password=(sua senha)
 

* Trocar o nome da aplicação:
Para mudar o nome do default "HelloWorld" para outro nome, modifique dentro do arquivo de configuração "www/config.xml". 
Se preferir não alterar no www/config.xml então será necessário alterar diretamente nos arquivos gerados:
1) Altere o arquivo "platforms/android/build.xml":
Onde estava: <project name="HelloWorld" default="help">
Troque por: <project name="Nome-do-seu-app" default="help">
Isso vai fazer com que o arquivo apk gerado pelo comando "ant release"  fique com o nome desejado do seu app ao invés de "HelloWorld"
2) Altere o arquivo "www/config.xml":
Altere de "helloworld" para o nome desejado do seu app nas linhas:
id = "com.phonegap.helloworld"
e
<name>HelloWorld</name>
(este nome é o que vai aparecer escrito sob o ícone do aplicativo instalado no celular ou tablet)

* Permitir que o usuário faça zoom (pinch) na aplicação:
Altere nas páginas html a linha <meta name="viewport"> onde está  user-scalable=no por user-scalable=1


Outros comandos:

# Compila / Cria apk, mas sem rodar (sem instalar o resultado no emulador de Android):
phonegap build android
(OBS: Ao invés do comando "phonegap build android" é prefirível rodar "phonegap run android" para garantir que o conteúdo da pasta assets/www estará correto)

# Mostra a versão atual do phonegap:
phonegap -v
(minha versão é 3.5.0-0.21.14)

# Atualiza a versão do phonegap: 
npm update -g phonegap
# ou melhor, comando mais verbose para mostrar o que está acontecendo durante a atualização:
npm update -g phonegap 
--loglevel info
 

Para rodar compilar o aplicativo para iOS, é necessário usar Mac rodando o Xcode.

Documentação adicional:
http://developer.android.com/tools/publishing/publishing_overview.html

Documentação da API do PhoneGap: 
http://docs.phonegap.com/en/2.7.0/

Contém referência de API para acesso ao acelorômetro, câmera, bússola ("Compass"), captura de arquivos de mídia do dispositivo ("Capture"),  acesso aos contatos, acesso à rede e verificação do status da rede e celular, obtenção de informações sobre o dispositivo, acesso aos eventos usando javascript (native events), geolocalização ("Geolocation"), InAppBrowser (abrir URLs em outros apps), notificações (visual, audio, tátil), armazenamento, Media (gravação e reprodução de áudio) e mostrar aplicações na splashscreen.

 

Resolução de problemas e erros comuns:

Se ao rodar o "jarsigner" ocorrer o erro: "jarsigner: Certificate chain not found for: app_name.  app_name must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.", não resolvi este problema. Criei um novo projeto em outra pasta, gerei um keystore novo e então funcionou.

* Se ao rodar o "jarsigner" ocorrer o erro: "jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect", então a senha está incorreta. Use a senha certa ou gere o arquivo keystore novamente.

* Se ocorrer o erro ao instalar o APK "App not installed", pode ser problema na assinatura do app. Tente os passos a partir do comando "jarsigner".

* Se ao rodar "ant release" não pedir a senha, verifique se o arquivo "ant.properties" existe e está correto. Pois o "ant release" deve pedir para entrar a senha.

* Ao compilar para iOS, o aplicativo não rotacionou automaticamente ao virar a tela (orientation): não resolvido ainda. Supostamente deveria funcionar se no "config.xml" tiver a configuração: <preference name="Orientation" value="default" />, pois "default" significa que a orientação fica tanto em modo paisagem (landscape mode) quanto em modo retrato (portrait mode). Outras opções são (para fixar o modo paisagem ou fixar modo retrato):
<preference name="Orientation" value="landscape" />
<preference name="Orientation" value="portrait" />

* Para desinstalar um aplicativo do emulador de Android: Clique em "MENU", "Manage Apps", selecione o app que quer remover e clique "Uninstall". 

* Se ao rodar "ant release" aparecer o erro: "BUILD FAILED - The following error occurred while executing this line: build.xml signing key (app name) not found", então pode ser que o arquivo gerado "my-release-key.keystore" tenha sido gerado sem o alias (nome) correto da aplicação. Gere novamente o keystore.

* Se ao rodar o zipalign aparecer o erro "Output file 'HelloWorld.apk' exists", então apague este arquivo .apk para poder gerá-lo novamente com o zipalign.

* Ao rodar a aplicação no emulador, não aparece o ícone correto.

* Ao instalar novamente o aplicativo sobre uma versão anterior previamente instalada aparece um erro no celular: 

* Se ao rodar "phonegap -v" aparecer erro "phonegap is not recognized as an internal or external command, operable program or batch file", então rode o comando "npm update -g phonegap" para atualizar e reconfigurar o executável do phonegap.

* Se ao abrir o app no celular aparecer o erro "Application Error: net::ERR_FILE_NOT_FOUND (file:////android_asset/www/index.html)", então pode ser que o diretório "platforms/android/assets/www" tenha sido removido ao rodar o comando "phonegap build android". Rode o comando "phonegap run android" para ver se o diretório assets/www é criado novamente com os arquivos html.

* Se ao rodar "phonegap run android" ocorrer este erro: "[error] ...platforms\android\cordova\build.bat: Command failed with exit code 2", verifique se o path contém "%ANDROID_HOME%\platform-tools". Se o erro persistir, remova a pasta "platforms/android" e tente novamente.

* Se ocorrer o erro "ERROR: No started emulators found, starting an emulator; No emulator images (avds) found", então precisa criar o emulador de Android.

* Se ao rodar "phonegap run android" ocorrer o erro "[error] No Java files found which extend CordovaActivity" (ocorreu quando atualizei os pacotes do "SDK Manager.exe"), remova a pasta "platforms/android" e tente novamente.

* Se não encontrar o aplicativo ao rodar "phonegap run android" ou outro comando começando com phonegap, tente desinstalar o phonegap e instalar novamente, com os comandos:

npm uninstall -g phonegap --loglevel info
npm install -g phonegap --loglevel info

 

* Se o programa "zipalign.exe" não for encontrado, use o caminho completo:
c:\android-sdk\sdk\build-tools\android-4.4W\zipalign.exe
(confira o local onde foi instalado)

* Lentidão: Se o emulador de Android estiver muito lento, instale o Intel Hardware Accelerated Execution Manager (HAX ou HAXM). A mensagem de erro que aparece (ao rodar "phonegap run android") quando o emulador fica lento é: "emulator: Failed to open the HAX device! emulator: Open HAX device failed. HAX is not working and emulator runs in emulation mode". A mensagem correta (quando o HAX device está instalado e o emulador fica rápido) é: "HAX is working and emulator runs in fast virt mode".

OBS: Criei estas instruções pois tentei fazer um aplicativo em HTML 5 e Javascript para Android com o Sencha Touch, mas não consegui gerar o pacote APK, então usei o PhoneGap para criar o pacote APK.


Exemplo com o passo-a-passo para gerar aplicativo de Android com o APK. Executei a partir do "cygwin" estes comandos abaixo para criar um aplicativo chamado "BDM":

Comando:
$ phonegap create BDM --id br.com.insite.bdm --name BDM

Resultado:
[phonegap] create called with the options C:\cygwin\home\rodrigo\BDM com.phonegap.helloworld HelloWorld
[phonegap] created project at C:\cygwin\home\rodrigo\BDM
 
Comandos:
$ cd BDM
$ nano www/config.xml
Editei essa configuração xml (usei o editor de textos "nano") para mudar o nome de "helloworld" para o nome desejado do meu app nas linhas:
 Onde estava: id = "com.phonegap.helloworld"
 Mudei para: id = "br.com.insite.bdm"
 (Mudei também o número de versão do aplicativo, onde estava: version = "1.0.0")

 Onde estava: <name>HelloWorld</name>

 Mudei para: <name>BDM</name>
(Este é o nome que aparecerá na tela abaixo do ícone do app instalado)

 Comentei a linha: <access origin="http://127.0.0.1*"/>
 Descomentei a linha: <access origin="*" />

 Mudei a linha "orientation" de "default" para "portrait" (para aplicação funcionar apenas na vertical)

 Mudei a linha "fullscreen" de "true" para "false" para mostrar a barra de status do celular (sinal/wifi/bateria) com a aplicação aberta: <preference name="fullscreen" value="false" />
 

$ nano -w www/index.html
(fiz algumas alterações no www/index.html, assim como no "www/css/index.css" e "www/js/index.js")


$ phonegap run android
Resultado: Este comando vai rodar o emulador de Android que abrirá o aplicativo criado com extensão apk. Aparece mensagem "BUILD SUCCESSFUL... Installing app on emulator" .
 
# Não foi necessário fazer esse comando abaixo, pois o nome do apk ficou correto ao editar apenas no www/config.xml:
# nano platforms/android/build.xml
# (usei o editor de textos "nano" para trocar o nome do aplicativo onde aparecia name="HelloWorld" por name="BDM", que é o nome do meu app)
 
Copiar ícones do aplicativo:
cp icon-128x128.png www/icon.png
cp icon-96x96.png platforms/android/res/drawable-xhdpi/icon.png
(e outras pastas/resoluções)
 
 
Comando (rodar somente na primeira vez, pois as próximas compilações vão usar o mesmo arquivo keystore gerado):
$ keytool -genkey -v -keystore my-release-key.keystore -alias BDM -keyalg RSA -keysize 2048 -validity 20000
 
Resultado:
(isso pediu a senha desejada para ser criada e alguns outros dados pessoais). Apareceu:
[Storing my-release-key.keystore]

Comando (rodar somente uma vez, não precisa gerar de novo nas próximas compilações):
$ cat > platforms/android/ant.properties
key.store = /cygwin/home/rodrigo/BDM/my-release-key.keystore
key.alias = BDM
(pressionar control-D para finalizar e salvar o novo arquivo "ant.properties")
(OBS: Trocar "BDM" pelo nome/alias do seu app)
 
Comando (compilar para modo release):
cd platforms/android
ant release
Entre com a senha duas vezes (quando pedir "Please enter keystore password" e "Please enter password for alias"). Se não pediu a senha, verifique se o arquivo "ant.properties" está correto.

Resultado:
BUILD SUCCESSFUL

Comando para assinar app:
cd bin
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /cygwin/home/rodrigo/BDM/my-release-key.keystore BDM-release-unsigned.apk BDM
 
Resultado:
Mensagens de adding (...), signing (...) e finalmente apareceu:
jar signed.
 
Comando para gerar apk para instalação:
#zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
zipalign -v 4 BDM-release-unsigned.apk BDM.apk
 
Resultado:
Verifying alignment of HelloWorld.apk (4)... (OK - compressed)
Verification succesful
(isso gerou o arquivo final HelloWorld.apk, que copiei para um endereço na web e acessei com o celular para instalar corretamente)
 
----
 
Dica: Testar na maior quantidade de dispositivos móveis (celulares de diferentes tamanhos de tela e resolução e tablets). Quando testei no Samsung Galaxy Pocket 2 SM-G110B de 3.3 polegadas, ocorreu problema devido à baixa resolução (320x240 pixels): algumas linhas sumiram (borda do div com espessura 1 pixel) aleatoriamente e imagens reescaladas ficaram com baixa resolução.
 
----
Como identificar (no servidor) se o acesso a uma página está vindo do aplicativo móvel:

Ao acessar uma página web com o app instalado no meu celular (Galaxy S5), o servidor web recebeu a seguinte variável de ambiente "X_REQUESTED_WITH" contendo o id da aplicação:
HTTP_X_REQUESTED_WITH = br.com.insite.bdm

O servidor também recebe a variável USER_AGENT mas não serve como identificador confiável da origem do acesso:
HTTP_USER_AGENT = Mozilla/5.0 (Linux; Android 5.0; SM-G900MD Build/LRX21T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36
 
----
Outras alternativas ao PhoneGap:

Fiz um teste usando o aplicativo para desenvolver apps online "MIT App Inventor". Em alguns modelos de celular funcionou corretamente a instalação do APK, mas em outros modelos apareceu a mensagem de erro: "Erro desconhecido. column date_modified is not allowed in queries. Relatar este erro."
 

Post by Rodrigo Siqueira (2014-06-02 14:01)

From: Álvaro Bezerra
No meu computador apareceu essa mensagem ao tentar emular "emulator: ERROR: This AVD's configuration is missing a kernel file". Já criei vários emuladores e ela continua a aperecer. Alguma sugestão. 2015-08-13 21:08

Post your comment:

Name: Email: Site:




| Explore users | New posts | Create your blog | Create your photo album |
| About Postbit | Our blog | Terms of use | Contact Postbit |


Copyright © 2017 - postbit.com