Category Archives: cordova

Install java 8 + sdk android tool + cordova js on Debian 9

All manually!
Add the repo of node js as the explain:
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
Download java 8 by oracle:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
e spacchetta tar xyz  in una cartella in home
idem per l’ sdk di android:
https://developer.android.com/studio/index.html in fondo alla pagina.
idem per gradle:
https://docs.gradle.org/current/userguide/installation.html
anche lui da unzippare dove volete. io lo faccio nella home, così rimane solo del mio utente.
avere android, java e gradle che vanno sotto root è male.
poi si fa andare dentro a tool bin/sdkmanager –update
e poi si crea il progetto cordova e poi si fa il bashprofile!
con le 4 variabili
POi fai cordova requirements.
Si lamenta ancora di gradle, allora glielo setti e buildi:

export ORG_GRADLE_PROJECT_cdvMinSdkVersion=21

e si lamenta ancora degli sdk, allora gli dici uno per uno gli sdk che vuoi:
android/tools/bin/sdkmanager "build-tools;21.0.0"
e quindi buildo di nuovo e funge!!!

Android 6 cordova allow download pdf!

Quindi con sti pdf come si fa?!?!
così https://www.raymondcamden.com/2016/06/26/linking-to-pdfs-in-cordova-apps
____________________________
Ho cercato per un po riguardo la CONTEN SECURITY POLICY,
visto anche che l’errore che mi dava era:
Resource interpreted as Document but transferred with MIME type application/pdf: “file:///android_asset/www/assets/foo.pdf”.
Continue reading Android 6 cordova allow download pdf!

Nuovo aggiornamento sicurezza Cordova CLI per google play!

Bene! lasciamoci indietro le versioni 3.5.5 , 4.0 e 4.1  ed arrembiamo la 6.1 di Cordova CLI, che ci permette di avere la piattaforma android versione 5.
0) dovete avere la stessa firma sviluppatore dell’app e pure la pasw.

  1. Quindi prendiamo il nostro vecchio progetto e backuppiamo tutto

2)  mettiamo in salvo copiandola da un’altra parte la cartella RES, dentro alla platform, che è quella che tiene icone e splashcreen; come pure il file Android manifest.xml, mettiamolo via e il config.xml
3) andiamo a vedere che versione del codice abbiamo ed incrementiamola, fuori dalla piattaforma, nel www/config.xml, ricordiamoci pure di alzare le API minime a 14.
4) aggiorniamo node, aggiorniamo cordova CLI, aggiorniamo platform Android:
$ node -v
v4.4.3

cordova -v
3.6.0-0.2.8

Quindi:
sudo npm install -g cordova
Ricontrolliamo la versione di cordova, ora dovrà essere 6.1.1,a quel punto andiamo nella directory del nostro progetto e vediamo la versione della piattaforma:
cordova platform ls
Installed platforms:
android 4.0.2
ios 3.4.0
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
blackberry10 ~3.8.0
browser ~4.1.0
firefoxos ~3.6.3
osx ~4.0.1

Quindi aggiorniamo la piattaforma
cordova platform update android
Updating android project...
Android project updated with cordova-android@5.1.1

ed ora compiliamo con la  nova versione!!
cordova build android
Probabilmente vi dirà che vi mancano degli sdk, quindi andate a prenderli! Ricordate anche che se cambiate cartella in cui tenete gli SDK, ricordatevi di metterli nel ~/.bash_profile;
es:

export PATH=${PATH}:/Users/nomade/Library/Android/sdk/platform-tools:/Users/nomade/Library/Android/sdk/Tools


Per le altre app, ok i passaggi 0, 1 ,2 e 3

poi però senza rifare il BUILD di cordova, Apro Android Studio e vado diretta a rifirmare e compilare l’app.

Così Android studio vi mette già a posto in automatico tutte le invocazioni di Gradle 😀  OH gradle, oH gradel..

vabbhè.. ve lo aggiorna, vi controlla gli SDK. etc..

ma soprattutto senza ricompilarlo da cordova, vi evitate di dover andare a rimettere, e non ve le icordate più di sicuro.. le piccole magagne che avete cambiato direttamente nel progetto Android..

lo so che ora ci sono gli Hooks, ma un tempo…

Insomma dipende da quanto sono vecchie le vostre app, da quanto funzionavano i plugin quando le avete compilate, etc..

HEI, non dimenticatevi di aggiornare anche i plugin!!

cordova plugin add cordova-plugin-network-information

e per esempio:

cordova plugin add cordova-plugin-splashscreen

cordova-plugin-inappbrowser

Set cordova cli 6 on xubuntu 15.10

installare node:
$sudo apt-get install nodejs
installare npm, node package manager:
sudo apt-get install npm
Possiamo testare che ci siano, chiedendo la versione:
$node -v
$npm -v
creare un collegamento simbolico per chiamare nodejs con il solo nome: node
sudo ln -s /usr/bin/nodejs /usr/bin/node
non deve rispondere niente il precederente comando.
Installiamo android studio, aggiungendo un repository con il code apposito per ubuntu,
disponibile da https://paolorotolo.github.io/android-studio/ :
$sudo apt-add-repository ppa:paolorotolo/android-studio
$sudo apt-get update
$sudo apt-get install android-studio

Dimentichiamoci di android per un pochino ed intanto procediamo e installiamoci cordova cli, guardiamo qui:
https://cordova.apache.org/docs/en/latest/guide/cli/index.html
Prima cosa vediamo se abbiamo anche git
$sudo apt-get install git

E poi installiamo cordova
$sudo npm install -g cordova

potrebbe essere necessario pulire la cache di node con un
“node cache clean”
Proviamo a vedere se è davvero  installato con “cordova -v”, mi rende il numero della versione che è ora la 6.1.0
Compiliamo la prima app di prova:

$ cordova create hello com.example.hello HelloWorld
$cd hello/

Ora entrando nella cartella hello/www/index.html dentro alla nostra home, troveremo il nostro primo progetto, che possiamo subito vedere da browser.
E’ un template html, e lo script in js che chiede alle API di cordova se c’è un dispositivo mobile, non risponderà.
Quindi rimarrà sempre un grigio: Connecting to Device
Ecco cosa ci permetterà di fare cordova cli

Quindi abbiamo deciso che lo proviamo per il sistema operativo Android.
https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#requirements-and-support
Quindi vediamo se abbiamo java:
$java -showversion
Io ho già installato :java version “1.7.0_95”
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.15.10.2)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

quindi provo così. (sbagliato)

OK, android studio (che ha finito di installarsi) non funziona:
si lamenta del jdk (java development kit)
Proviamo a vedere se cordova funziona:

$cordova platform add android
$cordova requirements

No, da un sacco di errori:
Failed to find ‘JAVA_HOME’ environment variable. Try setting setting it manually.
Android SDK: not installed
Failed to find ‘ANDROID_HOME’ environment variable. Try setting setting it manually.
Failed to find ‘android’ command in your ‘PATH’. Try update your ‘PATH’ to include path to valid SDK directory.
Android target: not installed
Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.
Gradle: not installed
Could not find gradle wrapper within Android SDK. Could not find Android SDK directory.
Might need to install Android SDK or set up ‘ANDROID_HOME’ env variable.
Error: Some of requirements check failed

(GIUSTO)Quindi si installa dal ppa per ubuntu. java 8

http://stackoverflow.com/questions/16263556/installing-java-7-on-ubuntu

$sudo add-apt-repository ppa:webupd8team/java
$sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default

OK, riprovo a far partire android studio.

Funziona

Quindi andiamo in
Configure >> SDKmanager
E ci copiato il path dove troveremo i file android che ci interessano
es: /home/mioutente/Android/Sdk
Quindi andiamo a creare il file .bashprofile in home, con l’editor di testo più comodo.
$nano .bash_profile
Questo è il mio file:
export ANDROID_HOME=/home/cri/Android/Sdk/
export PATH=${PATH}:/home/cri/Android/Sdk/platform-tools:/Android/Sdk/tools
Faccio utilizzare il mio file bash_profile:

 source ~/.bash_profile

Quindi provo se funziona:
~/hello$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-23
Gradle: installed
Bella risposta!
Provo a fargli compilare il progetto android:
cordova build android

BUILD SUCCESSFUL

Total time: 2 mins 51.058 secs
Built the following apk(s):
/home/cri/hello/platforms/android/build/outputs/apk/android-debug.apk
 
OK , ora possiamo fare un cordova android run
Se abbiamo un dispositivo android da connettere con l’usa, in modalità sviluppatore attivata e con il setting: debugging via usb.
Allora, potremo vedere la nostra app Hello che si installa sul dispositivo e la scritta su sfondo verde:

Device is ready

Set the Cordova CLI 6.0 workflow

  1. Android studio
  2. Java
  3. jdk – Java SE Development Kit 7u79
  4. node js
  5. configure BASH_profile
  6. node
  7. npm
  8. cordova CLI
  9. App!

_ _ _ _ _ _ _
5) dicevamo..
Node.js was installed at
/usr/local/bin/node
npm was installed at
/usr/local/bin/npm
Make sure that /usr/local/bin is in your $PATH.

Vai di Terminale!!

 
controlla versione:  cordova  -v

cordova -v

crea progetto:

cordova create hello com.example.hello HelloWorld

aggiungi plattaforma:

cordova platform add android

controlla versione della piattaforma

cordova platform list

controlla se ci sono aggiornamenti della piattaforma

cordova platform check 

aggiorna piattaforma

cordova platform update android

aggiorna ADK

android

POi per fare le cose sul serio però bisogna generarsi una firma 🙂

Android studio

Heggià è venuto il fatidico momento di aggiornare tutto anche se ero un po recalcitrante..
Quindi:
-aggiornare da npm cordova
-aggiornare da npm phonegap
-scaricare e configurare Android studio (che me lo immaginavo più leggero di eclipse ed invece è un carrozzone pure quello..)
-scaricare tutti gli sdk e sdk tool che servono, sapendo che phonegap e AS non sarenno allineati nell’utilizzo.
-scaricare JDK 7
-risistemare i file di bash e le configurazioni di AndroidStudio
open -a TextEdit.app .bash_profile
-incrociare le dita
-provare a fare la prima build 😛
-fare un backup delle app
-aggiornare tutte le app
 
mi è stato utile vedere che qualcun altro smadonna quanto me :)(:
https://www.ringroost.com/blog/android-studio-phonegap-mac-hello-world-android-app-html-css-javascript/

Video locali per applicazione phonegap target Android

premessa:
http://developer.android.com/guide/appendix/media-formats.html

Table 2. Examples of supported video encoding parameters for the H.264 Baseline Profile codec.

SD (Low quality) SD (High quality) HD 720p (N/A on all devices)
Video resolution 176 x 144 px 480 x 360 px 1280 x 720 px
Video frame rate 12 fps 30 fps 30 fps
Video bitrate 56 Kbps 500 Kbps 2 Mbps
Audio codec AAC-LC AAC-LC AAC-LC
Audio channels 1 (mono) 2 (stereo) 2 (stereo)
Audio bitrate 24 Kbps 128 Kbps 192 Kbps

 
In rete si trovano  queste tre vie:
0)https://github.com/macdonst/VideoPlayer
per playarlo con il player di default
– a me dice che il plugin non è installato:
09-19 12:08:39.794: D/PluginManager(8495): exec() call to unknown plugin: VideoPlayer
IL problema è che questa versione di phonegap non usa più plugin.xml,ma usa un proprio file xml all’interno del lugin, che quindi sarebbe da riscrivere.
non credo che mi metterò a fixar.. proviamo gli altri
 
1) https://github.com/jaeger25/Html5Video
dice usa questo plugin e funzionerà in android
 
2) https://github.com/rjsteinert/HTML5VideoInAndroidWebViewExample
dice che è impossibile caricare un video dalla cartellina www, ma solo vederlo in webview
 
3) http://www.html5videoplayer.net/phonegap-html5-video.html
dice, scaricati il programma tutto funzionerà.. humm

non si mischia single page con multipages!

Sto litigando da mesi con la navigazione ajax di jquery mobile, che secondo me non è per niente intuitiva..
e non ho ancora capito se necessaria.. certo se vuoi avere delle transizioni.. ma io mi accontenterei solo che funzionassero i link.
 
La navigazione multipage è molto bellina, carina, veloce, ma ha il difetto che se devi creare un sito/app con doppia profondità di pagine..
quindi tab dentro a delle pagine..
non riesci più a lincare quei contenuti.
Dovresti fare che ogni contenuto è indipendente. Una pagina nel suo sistema di multipages.
Continue reading non si mischia single page con multipages!

phonegap –help

Usage: phonegap [options] [commands]
Description:
  PhoneGap command-line tool.
Commands:
  create         create a phonegap project
  build      build a specific platform
  install    install a specific platform
  run        build and install a specific platform
  local [command]      development on local system
  remote [command]     development in cloud with phonegap/build
  platform [command]   update a platform version
  plugin [command]     add, remove, and list plugins
  help [command]       output usage information
  version              output version number
Options:
  -V, --verbose        allow verbose output
  -v, --version        output version number
  -h, --help           output usage information
Platforms:
  keyword            | local environment   | remote environment
  -------------------|---------------------|-------------------
  android            | Yes                 | Yes
  blackberry         | Yes (BlackBerry 10) | Yes (BlackBerry 6)
  ios                | Yes                 | Yes
  symbian            | No                  | Yes
  webos              | No                  | Yes
  wp7                | Yes                 | Yes
  wp8                | Yes                 | Coming Soon
Examples:
  $ phonegap help create
  $ phonegap help remote build
  $ phonegap create path/to/my-app
  $ phonegap remote build android

———-
$ phonegap version
3.3.0-0.18.1