terça-feira, 9 de junho de 2015

Adicionando uma splash screen no projeto Phonegap/Cordova via AS

Adicionando Splash Screen no Cordova, considerando que o projeto já está rodando, ver posts anteriores


Passos:

1. Abrir arquivo config.xml da pasta /res/xml do projeto em questão.
2. Adicionar o código abaixo logo abaixo da primeira diretiva <preference>

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />


3. Criar os arquivos para seu aplicativo respeitando o mesmo tamanho dos arquivos originais cordova já existentes nas pastas /res/drawable/xxxx-ydpi/ onde xxxx é land ou port e y é h, l, xh.
4. Compile e rode no android.
5. Feito

Opcional criar arquivo tipo 9.png, assunto de outro post a ser ainda criado.

Exemplos de SplashScreen na resolução Cordova para Android modo Landscape.

320x200


480x320



Abs

segunda-feira, 1 de junho de 2015

Instalando um plugin cordova (cordova > 3.0.0) após integração com AS

Ver post sobre a instalação do cordova e AS pois este procedimento refere-se a instalação e uso de plugins em ambiente AS + Phonegap/Cordova

Em uma janela de comando navegar até a pasta de projeto, exemplo:

C:\Users\alexandre.alves\Documents\MobileApps\meuapp\platforms\android\assets>

Executar: >cordova plugin add org.apache.cordova.device


Na pasta
C:\Users\alexandre.alves\Documents\MobileApps\meuapp\platforms\android\assets\www\plugins
Um novo dir vai aparecer com o nome do plugin.

Testei o plugin device com o codigo abaixo:

function testeplugin(){
                console.log(device.model);
                console.log(device.platform);
                console.log(device.uuid);
            }

Recebendo no console:

06-01 21:54:00.510    9400-9400/com.jaca.meuapp I/chromium﹕ [INFO:CONSOLE(64)] "GT-I9300", source: file:///android_asset/www/index.html (64)
06-01 21:54:00.510    9400-9400/com.jaca.meuapp I/chromium﹕ [INFO:CONSOLE(65)] "Android", source: file:///android_asset/www/index.html (65)
06-01 21:54:00.510    9400-9400/com.jaca.meuapp I/chromium﹕ [INFO:CONSOLE(66)] "a16620f6dfbec8cb", source: file:///android_asset/www/index.html (66)

Outros Plugins Cordova (comando pronto para ser colado no prompt):

cordova plugin add cordova-plugin-vibration
cordova plugin add org.apache.cordova.globalization






sábado, 30 de maio de 2015

Instalando Phonegap + Cordova + Android Studio + onsenui (opcional)

Sequencia para instalação e criação de um novo APP híbrido para android usando Phonega/Cordova em ambiente Android Studio com interface onseui!


Todos os comandos aqui descritos devem ser executados no prompt do windows:



Primeira parte ("tks to Patrick Gidich") 

https://github.com/simnova/webdevdocs/wiki/Installing-PhoneGap-and-Android-Studio-on-Windows

Download JDK- Java SE Development Kit - Windows x64 - (latest edition) and Install using default options
        1. Add a system variable JAVA_HOME and point it to the directory containing the contents of the JDK (example C:\Program Files\Java\jdk1.7.0_51)
        2. Add ;%JAVA_HOME%\bin; to the Path system variable.
        3. If you have a Proxy Server, note proxy server settings and:
          1. Start --> Type Java Control Panel
          2. General Tab --> Click Network Settings...
          3. Choose the appropriate settings, "use browser settings" may work for you.
        4. Validate Java Install:
      1. From a command prompt enter the following
        java -version
      2. You should see something like :
        java version "1.7.0_51"
Download Apache Ant and extract to a directory on your computer. (example C:\util\ant\)
    1. Add a system variable ANT_HOME and point it to the directory containing the contents of the ANT directory
    2. Add ;%ANT_HOME%\bin; to the Path system variable.
    3. Validate Ant Install:
      1. From a command prompt enter the following
        ant -version
      2. You should see something like :
        Apache Ant(TM) version 1.9.3 compiled on December 23 2013
      3. Troubleshooting: Unable to locate tools.jar (check to see if JAVA_HOME is set properly)

Download Android Studio and Install using default settings. 
    1. If you have a Proxy Server, note proxy server settings and open Android Studio:
      1. File --> Settings --> (IDE Settings Section) --> HTTP Proxy
      2. Make the appropriate selection for your environment.
    2. Add a system variable ANDROID_HOME and point it to the directory containing the android sdk that's installed with Android Studio (example: C:\Users\jdoe\AppData\Local\Android\android-studio\sdk)
    3. Add the following to your Path system variable:
      1. ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

Download Node and Install (if you already have it installed, download and install again to update it)
    1. Clear your NPM cache (this may save some headaches):
      npm cache clean
    2. If behind a firewall, configure node to speak to the firewall by issuing the following commands:
      npm config set proxy http://domain%5Cusername:password@ipaddress:port
      npm config set https-proxy http://domain%5Cusername:password@ipaddress:port
    3. Validate Node Install:
      1. From a command prompt enter the following
        node --version
      2. You should see something like :
        v0.10.26


Update Node & Global Packages
    1. Update Node:
      npm update -g n
    2. Update Global Packages:
      npm update -g
Install Cordova
npm install -g cordova
Install Plugman
npm install -g plugman
      1. If behind a firewall, configure plugman to speak to the firewall by issuing the following commands:
        plugman config set proxy http://domain%5Cusername:password@ipaddress:port
        plugman config set https-proxy http://domain%5Cusername:password@ipaddress:port

Segunda parte (retirado da documentação original Cordova  mais algumas horas de tentativas e erros...)

http://docs.phonegap.com/en/edge/guide_platforms_android_index.md.html#Android%20Platform%20Guide


Criar um projeto na pasta de aplicativos (vá para pasta via prompt)
cordova create meuapp com.jaca.meuapp meuapp


Ir para pasta de projeto
cd meuapp
Criar framework android para aplicativo
cordova platform add android
Gerar aplicativo e seus arquivos e bibliotecas correspondentes
cordova build

Lançar o Android Studio (AS)

Selecionar opção "Import[..]"


Selecionar pasta ..\meuapp\platforms\android





Pressionar OK. (Na primeira vez que testei o Gradle foi montado após ~5 min, na segunda houveram msgs pedindo para fazer um "wrapper", aceitar. 

AS abriu o projeto!!


Conectar o celular via USB, toda a parte do Android ADB já deve estar funcionando e o celular deve ser reconhecido pelo AS.

Compilar/rodar!

Feito, o app básico cordova vai ser lançado no seu dispositivo móvel com a frase "DEVICE JACA IS READY", editei o arquivo index.html acrescentando a famosa marca "JACA"....

Terceira parte, instalando IHM onsenui no novo ambiente AS:

Baixar o template sliding menu http://onsen.io/download.html#download-templates e descompactar.

Criar a pasta onsen dentro da pasta www no projeto no AS.

Mover as pastas lib e styles que estao dentro da pasta \onsenui-sliding-menu\www nos arquivos descompactados acima para a pasta www no AS

Copiar o código abaixo no index.html dentro <body> portanto o projeto vai econtrar todos os css e js necessários para rodar tudo, angular, cordova e onsen.

<link rel="stylesheet" href="onsen/lib/onsen/css/onsenui.css">
<link rel="stylesheet" href="onsen/styles/onsen-css-components-blue-theme.css">
<link rel="stylesheet" href="onsen/styles/app.css"/>
<script src="onsen/lib/onsen/js/angular/angular.js"></script>
<script src="js/angular-touch.js"></script>
<script src="onsen/lib/onsen/js/onsenui.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" href="css/compose.css">




Obter o angular-touch.js na internet, este script dá maior velocidade de resposta ao "touch" para os elementos clicáveis da DOM. Mover para a pasta /js.

Copiar o aqruivo de estilo "compose.css" para a pasta de estilo do projeto, "/css". No final deste post esta o codigo para criar o compose.css. Para dar um embelezada no exemplo....

Deletar o codigo abaixo no <body> pois já é chamado no <body>, acima:

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>

Copiar o arquivo AASis78x31branco.png, pode ser qualquer outro mantendo o tamanho em pixel. Logo do desenvolvedor que será apresentado na toolbar do app. Copiar para a pasta C:\Users\alexandre.alves\Documents\MobileApps\meuapp\platforms\android\assets\www\img


Modifique a diretiva abaixo na seção <head> para "Seu APP":

<title>Meu APP</title>


Coloque a linha a seguir no lugar da original na seção <head> para permitir rodar scripts "inline":

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

Copie o código abaixo para a seção <head> para tratar do botão "back" do Android quando for sair do app:



<script type="text/javascript" charset="utf-8">
var module = angular.module('app', ['onsen','ngTouch']);
function backbuttonpage(){
 //var r = ons.notification.confirm("Deseja realmente sair do App?");
 var r = confirm("Deseja realmente sair do App?");
    if (r == true) {
        //navigator.notification.vibrate(500);
        navigator.app.exitApp();
    } else {

    }
}
</script>

Modifique o <body> conforme abaixo:

<body ng-app="app">

Delete a linha abaixo da seção <head> (o onsen tem seu próprio estilo, esta linha é do Cordova)


<link rel="stylesheet" type="text/css" href="css/index.css">

Copiar um arquivo, usei o próprio ícone em 48x48 pixels, para a pasta img do projeto, usar o nome abaixo:
 
ic_launcher.png


Opcional: Criar o ícone do meuapp nos vários tamanhos e distribuir pelos diretórios:








Comentar as linhas abaixo no arquivo index.js (o template cordova informa que o dispositivo está pronto via modificações em alguns elementos da DOM, desnecessário nesta aplicação com IHM onsen, deixei apenas uma msg de console que informa que está "ready");

//var listeningElement = parentElement.querySelector('.listening');//var receivedElement = parentElement.querySelector('.received');
//listeningElement.setAttribute('style', 'display:none;');//receivedElement.setAttribute('style', 'display:block;');


Abaixo a seção <body> final, copiar para o index.html do projeto (é um template de uma app de corrida em que trabalho no momento):

<body id="deviceready" ng-app="app">


    <ons-navigator animation="slide" var="indexnavi">
        <ons-page>
            <ons-toolbar fixed-style>
                <div class="center">meuapp</div>
                <div class="right" style="padding: 7px;">
                    <img src="img/AASis78x31branco.png" alt="AASis" >
                </div>
            </ons-toolbar>



            <ons-list style="font-size: 20px; margin-top: 10px;">

                <ons-list-item>

                    <ons-row>
                        <ons-col width="30%">
                            <img src="img/ic_launcher.png" id="popoverb1" class="thumbnail" >
                        </ons-col>

                        <ons-col width="70%">
                            <p class="mytextarea">
                                Meu APP Phonegap + Cordova + OnsenUI
                            </p>
                        </ons-col>
                    </ons-row>

                </ons-list-item >



                <ons-list-header><div style="font-size: 20px;">Lista de Links</div></ons-list-header>



                <ons-list-item  modifier="chevron">
                    <ons-icon icon="fa-caret-square-o-right" fixed-width="false"></ons-icon> Item 1
                </ons-list-item>

                <ons-list-item  modifier="chevron">
                    <ons-icon icon="fa-caret-square-o-right" fixed-width="false"></ons-icon> Item 2
                </ons-list-item>

                <ons-list-item  modifier="chevron">
                    <ons-icon icon="fa-caret-square-o-right" fixed-width="false"></ons-icon> Item 3
                </ons-list-item>



                <ons-list-item>

                </ons-list-item>


                <ons-list-item style="font-size: 18px" modifier="chevron">
                    <ons-icon icon="fa-question-circle" fixed-width="false"></ons-icon> Ajuda
                </ons-list-item>

                <ons-list-item style="font-size: 18px" modifier="chevron">
                    <ons-icon icon="fa-info-circle" fixed-width="false"></ons-icon> Sobre
                </ons-list-item>

                <ons-list-item onclick="backbuttonpage()"  style="font-size: 18px" modifier="chevron">
                    <ons-icon icon="fa-sign-out" fixed-width="false"></ons-icon> Sair do APP
                </ons-list-item>

                <ons-list-item style="font-size: 18px" modifier="chevron">
                    <ons-icon icon="fa-envelope-o" fixed-width="false" style="opacity:1"></ons-icon>
                    <a href="mailto:alexandremagnoalves@gmail.com">Alexandre Alves</a>
                    &nbsp;&nbsp;Sugestões
                </ons-list-item>


            </ons-list>

        </ons-page>
    </ons-navigator>



</body>


Compilar e testar!!!


=======================fim===========================


Arquivo "compose.css":

.thumbnail {
  width: 80px;
  height: 80px;
  border-radius: 4px;
  padding: 5px;
  vertical-align: middle;
  -webkit-border-radius: 4px;
}

.mytextarea {
  font: inherit;
  color: inherit;
  line-height: normal;
  font-weight: 400;
  font-size: 22px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #ffffff;
  color: #1f1f21;
  vertical-align: middle;
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 0;
  margin-right: 0;
}

.to-wrapper {
  line-height: 1;
  height: 62px;
  padding: 10px;
}

.to-image {
  width: 70px;
  height: 41px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
}

.to-name {
  font-weight: 500;
  font-size: 20px;
  margin-bottom: 4px;
}

.to-email {
  font-size: 17px;
  opacity: 0.7;
}

.text-input {
  margin-top: 4px;
}


 .page--menu-page__background {
      background-color: #000000;
    }
   
    .page--menu-page__content {
      color: white;
    }

    .menu-close,
    .menu-close > .toolbar-button {
      color: #999;
    }

    .menu-list,
    .menu-item:first-child,
    .menu-item:last-child,
    .menu-item {
      background-color: transparent;
      background-image: none !important;
      border-color: transparent;
      color: #fff;
    }

    .menu-item {
      padding: 0 0 0 20px;
      line-height: 52px;
      height: 52px;
      text-shadow: rgba(0, 0, 0, 0.4) 0px 1px 0px;
    }

    .menu-item:active {
      background-color: rgba(255, 255, 255, 0.1);
    }

    .menu-notification {
      display: inline-block;
      margin-top: 12px;
      font-size: 14px;
      height: 16px;
      line-height: 16px;
      min-width: 16px;
      font-weight: 600;
    }

    .bottom-menu-list,
    .bottom-menu-item:first-child,
    .bottom-menu-item:last-child,
    .bottom-menu-item {
      border-color: #393939;
      background-color: transparent;
      background-image: none !important;
      color: #ccc;
    }

    .bottom-menu-item:active {
      background-color: rgba(255, 255, 255, 0.1);
    }
   




Path Notebook, system:

C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Dell\Dell Data Protection\Drivers\TSS\bin\;C:\Users\alexandre.alves\AppData\Local\Android\sdk\platform-tools;C:\Program Files\nodejs\;C:\Program Files\Skype\Phone\;%ANT_HOME%\bin;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

Path Notebook, Alexandre Alves:

C:\Program Files\UltraEdit\;C:\Users\alexandre.alves\AppData\Roaming\npm;C:\Program Files\nodejs;C:\Program Files\apache-ant-1.9.4\bin;C:\Program Files\Java\jdk1.8.0_31\bin;C:\Users\alexandre.alves\AppData\Local\Android\sdk\platform-tools;C:\Users\alexandre.alves\AppData\Local\Android\sdk\tools





segunda-feira, 4 de maio de 2015

Criar novo projeto app Phonegap em Android Studio a partir de projeto existente

Passos básicos para criar um novo projeto, novo app, a partir de projeto existente e funcional em ambiente Android Studio com PhoneGap e Onsen UI. 

Fontes de informação:

http://stackoverflow.com/questions/5483539/android-copy-existing-project-with-a-new-name
Help do AS (Android Studio)

Informação adicional:

Projeto A -> Projeto base a ser "copiado" ou usado como base para o novo
Projeto B -> Novo projeto

Passos:


  1. Abra no AS o Projeto A, deixe aberto.
  2. Faça a cópia via sistema operacional da pasta do Projeto A para a nova Pasta, Projeto B. Na mesma pasta que o AS coloca os projetos, no meu caso, creio ser o padrão, seria C:\Users\alexandre.alves\AndroidStudioProjects. 
  3. A pasta do Projeto B deve ter o nome do Projeto B, edite o nome da pasta após a cópia.
  4. Feche o projeto no AS, o AS, sair do AS.
  5. Editar manualmente o nome do Projeto A na pasta do Projeto B no arquivo "projetoA.iml" para "projetoB.iml".
  6. Modificar arquivo "AndroidManifest.xml" em C:\Users\alexandre.alves\AndroidStudioProjects\Projeto B\app\src\main. Abrir o manifest do Projeto A e atualizar o Projeto B com os dados, incluindo a troca do nome do "package" pelo Projeto B.
  7. Criar um novo projeto no AS e forçar o nome e o local para o Projeto B. Haverá um aviso do AS em vermelho. (se o AS fizer o Build automático neste momento, ignorar msgs de erro)
  8. Mover, de dentro do AS, o arquivo MainActivity.java da pasta Projeto A dentro src/main/java/com.app."developername".projetoB\ProjetoA para a mesma pasta src[..]\ProjetoB. Neste momento o AS automaticamente propõe o refactor, aceitar e deixar AS fazer os ajustes.
  9. Deletar, de dentro do AS, a pasta Projeto A em src[..]\ProjetoB, Referente ao passo anterior.
  10. Deletar arquivo e pasta Projeto A da pasta AndroidTest/java/com.app."developername".
  11. Editar config.xml em  app\src\main\res\xml, alterar nome do projeto, autor, descrição, features.
  12. Trocar as referências Projeto A para Projeto B no arquivo workspace.xml em \.idea\ exceto referências a arquivos do projeto que foram criados pelo usuário por exemplo um controller que inicie com o nome do projeto.
  13. Trocar as referencias Projeto A para Projeto B no arquivo cache.xml em \build\intermediates\. (Não sei se necessário, mas como já estava trocando todas as referencias ao Projeto A,,,,)
  14. Copiar do arquivo strings.xml do ProjetoA, a partir do arquivo original na pasta original, as linhas: <string name="hello_world">Hello world!</string> e  <string name="action_settings">Settings</string>, pois nao foram mantidas do Projeto A e estavam gerando erro no Build apesar do Projeto PhoneGap em questão não utilizar tais strings.
  15. Trocar o ícone do Projeto nas pastas "drawable*" para não criar confusão na instalação do novo projeto que inicialmente será igual ao Projeto A.
  16. Compilar e testar!
  17. UFA... 


    Devem, ou podem, haver passos desnecessários ou mesmo outro caminho mais fácil para gerar o novo projeto, mas com o conhecimento que tenho no momento foi o que consegui e funciona!!




    domingo, 22 de fevereiro de 2015

    Ajustando o ambiente Android Studio para uso do PhoneGAP

    Passos básicos para ter instalado o framework PhoneGap trabalhando com o AS

    Após vários "tutoriais", guias, página do PhoneGap o que melhor refletia o que necessitava foi o post abaixo. Existe mais de uma forma de trabalhar projetos no PhoneGAP incluindo CLI, compilação via linhas de comando.

    Guia1: http://www.thedevline.com/2014/03/how-to-build-phonegap-project-with.html
    Thanks to Abdullah Al Mahamud

    Como informação auxiliar usei também o seguinte guia:

    Guia2: http://feliperfmarques.com/2014/06/instalando-phonegap-android-studio-no-ambiente-windows/
    Thanks to Felipe Marques

    1. Ter o AS instalado e funcionando para desenvolvimento de app "nativos" para Android. Ver post anetrior: http://bizuariogeral.blogspot.com.br/2015/02/instalando-android-studio-ajustando.html

    2. Baixar e instalar os pacotes abaixo:

    Update android SDK Tools Minimum 19.0.1 Instaled  Já está no AS
    Install Google API (Android 4.2.2 17 ) vai SDK tools  Já está no AS
    Install Google Play Service & Google Repository Vai SDK tools Já está no AS
    Android SDK Build Tools 19.0.2 Já está no AS
    Build gradle 0.9.+ or  gradle-1.10-all Já está no AS
    Download PhoneGap ( minimum 2.9.0 ) - o PhoneGap não tem instalador, é apenas um zip com um framework de arquivos.
    Java Development Kit JDK 1.7.0_45 Já foi instalado antes para atender o AS
    NodeJS -  http://nodejs.org/
    Apache Ant -http://ant.apache.org/bindownload.cgi 

    3. Ajustar as variáveis ambiente Windows, ver guia do "Felipe", alterar somente o Path. Atenção com o AS 1.0 ou superior alguns caminhos diferem do sugerido, tem que garimpar onde estão os arquivos. Não é óbvio!

    4. Sem ter certeza se é necessário instalei o PhoneGAP. 
    Prompt> npm install -g phonegap

    4. Seguir os passos do Guia1, mas atenção não achei o cordova.jar no download do phoneGap, eu tinha uma copia que recebi no curso na FACENS. ( o .jar precisaria ser gerado no ambiente phone gap, por isso não está presente)

    5. Feito!!! It works.






    quarta-feira, 11 de fevereiro de 2015

    Instalando Android Studio a ajustando ambiente para rodar APP Android Nativo

    Lembretes e "macetes" no processo de instalação do Android Studio em Windows bem como ajustes necessários para criar ambiente de desenvolvimento.

    Data: 05/02/2015

    Premissas:
    • Hardware: NoteBook DELL E6430, Core i5 32 bit, 4 GB RAM
    • Software: Windows7 Prof SP1
    Passos: (os guias de instalação nativos, Google, Dell, Samsung, quase sempre não se adaptam a realidade do ambiente, daí a necessidade de comentários e "macetes" entre os passos, mesmo assim quem estiver seguindo estes vai precisar usar o google, forums, tutoriais...)

    1. Baixar o Android Studio, http://developer.android.com/sdk/index.html
      • Ler com atenção os passos, baixar arquivo da seção "All Android Studio Packages" versão "recomendada", ~868MB.
      • AINDA não instalar, separar arquivo.
    2. Baixar o Java SDK supondo que seu sistema não tem, normalmente não tem já que este não é Java que normalmente atualizamos no Windows, http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
      • Baixar "Java SE Development Kit" na última versao para Windows x86 já que o hardware é 32bits, se seu note for 64 baixe a versão correspondente.
    3. Instale o Java SDK, siga os passos.
    4. Instale o Android Studio, siga os passos.
    5. Lance o AS (Android Studio) e crie um projeto básico. Mude somente o nome...




    1. O AS vai demorar um "bocadinho" e irá apresentar as telas do IDE com o novo projeto, ainda não compilar nada. Abrir o SDK Manager, ver abaixo o ícone em Amarelo.


      • Não alterei "tools"
      • Desliguei os pacotes do Android 5 pois meu projeto pretendo fazer para kitkat por hora, para testar inicialmente no meu Galaxy S3.
      • Abaixo como ficaram os pacotes:


    1. Acionar os botões de instalar e deletar.
    2. FIM 

    PS:

    Entrei em um tutorial para rodar o 1o aplicativo, "hello world" e testar o ambiente sendo que encontrei dois problemas "malas":

    1o O Simulador de dispositivo não apresenta os botões para emular os botões físicos do dispositivo. Passei horas tentando resolver em vários foruns e continua sem solução... Ainda não desisti. Quando conseguir atualizo o post.

    2o. O AS não reconhecia meu GS3 (Samsung GT-I93000, root, Cyanogen 11 M12) via ADB, ponto USB para depuração diretamente no dispositivo, que é uma via rápida para desenvolver, mas não dispensa o simulador. Após horas de pesquisa e tentativas equivocadas consegui integrar o Samsung ao AS. Passos:

    1. Coloquei na variável Path do Windows o caminho abaixo, na verdade não estou certe se é mandatório mas já havia feito em uma das tentativas de reconhecer o dispositivo. "C:\Users\alexandre.alves\AppData\Local\Android\sdk\platform-tools"
    2. Ativar "debug mode" no dispositivo. Clicar 7 vezes no "Ajustes/Sobre/Numero da versao" para liberar o menu de "depuração", ativar depuração USB.
    3. Conectar dispositivo via cabo USB.
    4. O windows vai tentar instalar o dispositivo mas não vai achar o driver da Samsung. (não adianta baixar o drive original).
    5. O link a seguir é a solução: http://stackoverflow.com/questions/25545232/unable-to-connect-the-android-device-to-windows-7
    6. Pelo Device Manager escolha atualizar o driver do GT-i9300 pela opção "Let me pick from the list of device drivers on my computer"
    7. Selecione "Have disk"
    8. Navegue até achar o drive da google em SDK_PATH/extras/google/usb_driver/android_winusb.inf
    9. Selecione "Android ADB Interface and install"
    10. O AS reconhece agora automaticamente o GSIII!