Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Phonegap-ApacheCordova CLI Linux


Si eres programador web estás de enorabuena ya que con los conocimientos que posees actualmente serás capaz de programar sencillos programas para plataformas móviles, este sistema tiene ciertas limitaciones pero si nuestra aplicación es básica puede ahorrarnos el tener que aprender java.

-- Instalación:

Primero instalamos todo lo necesario:

emerge -av net-libs/nodejs dev-util/android-sdk-update-manager dev-java/ant dev-java/swt

Ahora que ya tenemos nodejs podemos hace uso de la herramienta npm:

npm install -g cordova

Añadimos el usuario que vamos a utilizar para programar en el grupo android:

gpasswd -a XXX android

Como usuario regular exportamos algunas variables y las añadimos al bashrc para que se exporten de forma automática al hacer login:

export PATH=$PATH:/opt/android-sdk-update-manager/tools/
export PATH=$PATH:/opt/android-sdk-update-manager/platform-tools/
export ANDROID_SWT=/usr/share/swt-3.7/lib/
vi  /home/XXX/.bashrc
PATH=$PATH:/opt/android-sdk-update-manager/tools/:/opt/android-sdk-update-manager/platform-tools/ANDROID_SWT=/usr/share/swt-3.7/lib/

Como root también nos haria falta ya que tenemos que utilizar la herramienta android para instalar algunas herramientas:

vi  /root/.bashrc
PATH=$PATH:/opt/android-sdk-update-manager/tools/:/opt/android-sdk-update-manager/platform-tools/ANDROID_SWT=/usr/share/swt-3.7/lib/

Instalamos las historias que nos hagan falta según la versión de android que queramos desarrollar.

Si nos falta el SDK-Tools para la versión en la que estamos programando nos aparecerá un mensage del estilo :

[error] Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.

Instalamos los ficheros necesarios como root:

android

-- Programación:

Ya estamos listos para programar.

Generamos nuestro proyecto de prueba:

cordova create prueba com.example.prueba Prueba

Añadimos la plataforma:

cordova platform add android
cordova platforms ls

Si queremos eliminar alguna:

cordova platform remove blackberry10

Para compilar:

cordova build android --verbose

Para correrlo:

adb devices
cordova run android --verbose

Esto nos genera un apk en:

/home/XXX/prueba/platforms/android/bin/

Podemos depurar con:

adb logcat

NOTA: En el directorio www está el código fuente de nuestra aplicación, hay que programar de la misma manera que se haria en una aplicación web.

Si queremos actualizar phonegap:

npm update -g cordova

Instalación de una versión determinada:

npm uninstall -g cordova
npm install -g cordova@3.0.0

Para sacar la versión:

npm info cordova
cordova -v

-- Plugins:

Podemos encontrar una lista de pluigns en estos dos enlaces:
https://github.com/phonegap/phonegap-plugins/tree/master/Android

http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html

En este ejemplo vamos a utilizar el plugin device:

cd www
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
mkdir res/xml
vi res/xml/config.xml
<feature name="Device">
    <param name="android-package" value="org.apache.cordova.Device" />
</feature>
mkdir app
vi app/AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
cp index.html index.html.ori
vi index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        var element = document.getElementById('deviceProperties');
        element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
                            'Device Cordova: '  + device.cordova  + '<br />' +
                            'Device Platform: ' + device.platform + '<br />' +
                            'Device UUID: '     + device.uuid     + '<br />' +
                            'Device Model: '    + device.model    + '<br />' +
                            'Device Version: '  + device.version  + '<br />';
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>
cordova run android --verbose

También existe una herramienta llamada plugman pero no la he probado:

http://cordova.apache.org/docs/en/3.0.0/plugin_ref_plugman.md.html


Autor: Kr0m -- 02/09/2013 16:30:26