<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cordova &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/cordova/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Tue, 17 Apr 2018 08:30:06 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=93563</generator>
	<item>
		<title>Installare una versione precedente di Apache cordova</title>
		<link>https://blog.smsoft.it/2018/04/17/installare-una-versione-precedente-di-apache-cordova/</link>
					<comments>https://blog.smsoft.it/2018/04/17/installare-una-versione-precedente-di-apache-cordova/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 17 Apr 2018 08:30:06 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[npm]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4018</guid>

					<description><![CDATA[Cordova è un framework per la creazione di applicazioni per IoS/Android/etc in HTML/JavaScript e permettendo di accedere alle funzioni del dispositivo di diverse piattaforme. Queste funzioni sono esposte tramite un&#8217;API JavaScript unificata, che consente di scrivere una sola volta il codice e poi generare app per le diverse piattaforme. L&#8217;installazione si può fare con npm ... <a title="Installare una versione precedente di Apache cordova" class="read-more" href="https://blog.smsoft.it/2018/04/17/installare-una-versione-precedente-di-apache-cordova/" aria-label="Per saperne di più su Installare una versione precedente di Apache cordova">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Cordova è un framework per la creazione di applicazioni per IoS/Android/etc in HTML/JavaScript e permettendo di accedere alle funzioni del dispositivo di diverse piattaforme. Queste funzioni sono esposte tramite un&#8217;API JavaScript unificata, che consente di scrivere una sola volta il codice e poi generare app per le diverse piattaforme.</p>
<p>L&#8217;installazione si può fare con <strong>npm</strong> con:<br />
<code>npm install -g cordova</code></p>
<p>Per vedere l&#8217;elenco delle versioni disponibili:<br />
<code>npm view cordova versions</code></p>
<p>Per installare una versione precedente, es la 7.1.1:<br />
<code>npm install -g cordova@7.1.1</code></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2018/04/17/installare-una-versione-precedente-di-apache-cordova/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cordova: Errore MissingTranslation durante la compilazione</title>
		<link>https://blog.smsoft.it/2015/10/13/cordova-errore-missingtranslation-durante-la-compilazione/</link>
					<comments>https://blog.smsoft.it/2015/10/13/cordova-errore-missingtranslation-durante-la-compilazione/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 13 Oct 2015 09:30:21 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[MissingTranslation]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3247</guid>

					<description><![CDATA[Se durante la compilazione di un&#8217;app con il classico comando: [crayon-6a3c0e2eeebc9573233913/] viene visualizzato un errore relativo a MissingTranslation, per evitare di dover tradurre tutte le stringhe mancanti, si può aprire il file platforms/android/build.gradle ed inserire, intorno alla riga 160, ma comunque all&#8217;interno della sezione android, le istruzioni per evitare tale check. Bisognerà alla fine avere ... <a title="Cordova: Errore MissingTranslation durante la compilazione" class="read-more" href="https://blog.smsoft.it/2015/10/13/cordova-errore-missingtranslation-durante-la-compilazione/" aria-label="Per saperne di più su Cordova: Errore MissingTranslation durante la compilazione">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Se durante la compilazione di un&#8217;app con il classico comando:</p><pre class="urvanov-syntax-highlighter-plain-tag">cordova build --release android</pre><p>viene visualizzato un errore relativo a MissingTranslation, per evitare di dover tradurre tutte le stringhe mancanti, si può aprire il file <strong>platforms/android/build.gradle</strong> ed inserire, intorno alla riga 160, ma comunque all&#8217;interno della sezione <strong>android</strong>, le istruzioni per evitare tale check. Bisognerà alla fine avere qualcosa del tipo:<br />
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock956068">
                <p></p><pre class="urvanov-syntax-highlighter-plain-tag">...
...
android {
    lintOptions {
        disable 'MissingTranslation'
        disable 'ExtraTranslation'
    }
    sourceSets {
...
...</pre><p></p>
            </div>
         

        </p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2015/10/13/cordova-errore-missingtranslation-durante-la-compilazione/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>cordova: preparare e firmare l&#8217;apk per il caricamento su google play</title>
		<link>https://blog.smsoft.it/2015/06/02/cordova-preparare-e-firmare-lapk-per-il-caricamento-su-google-play/</link>
					<comments>https://blog.smsoft.it/2015/06/02/cordova-preparare-e-firmare-lapk-per-il-caricamento-su-google-play/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 02 Jun 2015 09:30:25 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sencha]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[google play]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3097</guid>

					<description><![CDATA[In uno scorso articolo ho indicato la procedura da seguire per creare l&#8217;APK firmato, da caricare sul Google Play Console, tramite Eclipse. Oggi vediamo come farlo direttamente da CLI tramite cordova e jarsigner. Innanzitutto se non avete ancora creato il keystore è il momento di farlo. ATTENZIONE: il file è molto importante, perché bisognerà utilizzarlo ... <a title="cordova: preparare e firmare l&#8217;apk per il caricamento su google play" class="read-more" href="https://blog.smsoft.it/2015/06/02/cordova-preparare-e-firmare-lapk-per-il-caricamento-su-google-play/" aria-label="Per saperne di più su cordova: preparare e firmare l&#8217;apk per il caricamento su google play">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>In uno scorso articolo ho indicato la procedura da seguire per creare l&#8217;APK firmato, da caricare sul <a href="https://play.google.com/apps/publish" target="_blank" rel="noopener noreferrer">Google Play Console</a>, tramite Eclipse. Oggi vediamo come farlo direttamente da CLI tramite cordova e jarsigner.</p>
<p>Innanzitutto se non avete ancora creato il keystore è il momento di farlo. ATTENZIONE: il file è molto importante, perché bisognerà utilizzarlo anche per eventuali aggiornamenti dell&#8217;app.</p>
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock432858">
                <p>
</p><pre class="urvanov-syntax-highlighter-plain-tag">keytool -genkey -v -keystore ~/Documents/my-release-key.keystore -alias keystore -keyalg RSA -keysize 2048 -validity 10000</pre><p>
</p>
            </div>
         

        
<p>Durante la creazione verrà richiesta una password da dover ricordare. Questo comando creerà un file in <strong>~/Documents/my-release-key.keystore</strong> con il keystore chiamato <strong>keystore</strong>.</p>
<p>Ora creiamo il file <strong>ant.properties</strong> in <strong>cordova/platforms/android/</strong> con il seguente contenuto:<br />
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock383682">
                <p>
</p><pre class="urvanov-syntax-highlighter-plain-tag">key.store=~/Documents/my-release-key.keystore
key.alias=keystore</pre><p>
</p>
            </div>
         

        </p>
<p>Posizioniamoci nella cartella <strong>cordova</strong> e poi:</p><pre class="urvanov-syntax-highlighter-plain-tag">cordova build --release android</pre><p>questo genererà nella cartella <strong>platforms/android/build/outputs/apk/</strong> il files <strong>android-release-unsigned.apk</strong>.</p>
<p>(ricordarsi di aggiornare <strong>version</strong> <strong>android-versionCode</strong> in config.xml che a automaticamente aggiornerà <strong>android:versionCode</strong> e <strong>android:versionName</strong> in <strong>platforms/android/AndroidManifest.xml</strong>)</p>
<p>A questo punto firmiamo l&#8217;apk:<br />
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock218846">
                <p>
</p><pre class="urvanov-syntax-highlighter-plain-tag">jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/Documents/my-release-key.keystore platforms/android/build/outputs/apk/android-release-unsigned.apk keystore</pre><p>
</p>
            </div>
         

        <br />
verrà richiesta la password del keystore durante la procedura.</p>
<p>Bene, a questo punto utilizziamo zipalign (generalmente è in <strong>~/.android/sdk/build-tools/22.0.1/zipalign</strong> dove <strong>22.0.1</strong> è la versione di sdk installato, oppure in <strong>/Users/**username**/Library/Android/sdk/build-tools/22.0.1/</strong> dove <strong>**username**</strong> è il nome utente e <strong>22.0.1</strong> è la versione di sdk installato) per ottimizzare l&#8217;apk:<br />
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock751392">
                <p>
</p><pre class="urvanov-syntax-highlighter-plain-tag">zipalign -v 4 platforms/android/build/outputs/apk/android-release-unsigned.apk SignedApp.apk</pre><p>
</p>
            </div>
         

        </p>
<p>Ora siamo pronti a caricare <strong>SignedApp.apk</strong> su Google Play.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2015/06/02/cordova-preparare-e-firmare-lapk-per-il-caricamento-su-google-play/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Eclipse: firmare un apk per il caricamento su google play</title>
		<link>https://blog.smsoft.it/2015/04/14/eclipse-firmare-un-apk-per-il-caricamento-su-google-play/</link>
					<comments>https://blog.smsoft.it/2015/04/14/eclipse-firmare-un-apk-per-il-caricamento-su-google-play/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 14 Apr 2015 09:30:27 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Varie]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[google play]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3086</guid>

					<description><![CDATA[Oggi una breve guida su come firmare un apk per il successivo caricamento su google play. Dopo aver aperto il progetto in Eclipse, basterà &#8211; selezionare &#8220;File&#8220;->&#8221;Export&#8220;, &#8211; poi dal gruppo &#8220;Android&#8221; selezionare &#8220;Export Android Application&#8221; e premere il pulsante &#8220;Next&#8220;, &#8211; poi cliccare sul pulsante &#8220;Browse&#8221; e selezionare il progetto corrente e premere il ... <a title="Eclipse: firmare un apk per il caricamento su google play" class="read-more" href="https://blog.smsoft.it/2015/04/14/eclipse-firmare-un-apk-per-il-caricamento-su-google-play/" aria-label="Per saperne di più su Eclipse: firmare un apk per il caricamento su google play">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Oggi una breve guida su come firmare un apk per il successivo caricamento su google play.</p>
<p>Dopo aver aperto il progetto in Eclipse, basterà<br />
&#8211; selezionare &#8220;<strong>File</strong>&#8220;->&#8221;<strong>Export</strong>&#8220;,<br />
&#8211; poi dal gruppo &#8220;<strong>Android</strong>&#8221; selezionare &#8220;<strong>Export Android Application</strong>&#8221; e premere il pulsante &#8220;<strong>Next</strong>&#8220;,<br />
&#8211; poi cliccare sul pulsante &#8220;<strong>Browse</strong>&#8221; e selezionare il progetto corrente e premere il pulsante &#8220;<strong>Next</strong>&#8220;,<br />
&#8211; successivamente selezionare o creare un keystore; con il pulsante &#8220;<strong>Browse</strong>&#8221; si può selezionare un keystore esistente o il path in cui salvare il nuovo keystore. Se si ua un keystore esistente basta indicarne la password nella relativa casella, mentre per crearne uno nuovo bisognerà inserire oltre la password anche quella di conferma;<br />
&#8211; dopo la scelta del keystore bisognerà scegliere o creare una nuova key; anche in questo caso la procedura è guidata e molto semplice da seguire;<br />
&#8211; infine scegliere la posizione in cui salvare l&#8217;apk firmato con il pulsante &#8220;<strong>browse</strong>&#8221; e completare con il pulsante &#8220;<strong>Finish</strong>&#8220;.</p>
<p>Bene, ora non resta che caricare il tutto su google play.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2015/04/14/eclipse-firmare-un-apk-per-il-caricamento-su-google-play/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ionicframework: un altro framework html5 per creare applicazioni native per mobile</title>
		<link>https://blog.smsoft.it/2014/12/09/ionicframework-un-altro-framework-per-creare-applicazioni-native/</link>
					<comments>https://blog.smsoft.it/2014/12/09/ionicframework-un-altro-framework-per-creare-applicazioni-native/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 09 Dec 2014 09:32:37 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[angularJS]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=2993</guid>

					<description><![CDATA[ionicframework (ionicframework.com) è un altro framework HTML5/JS/CSS3/SASS che grazie a cordova permette di creare applicazioni native per i vari device mobili. La cosa interessante è che utilizza AngularJS e che ha un sistema di scaffolding che permette di partire con il codice di base da modificare manualmente. Il codice è Open Source, rilasciato sotto licenza ... <a title="ionicframework: un altro framework html5 per creare applicazioni native per mobile" class="read-more" href="https://blog.smsoft.it/2014/12/09/ionicframework-un-altro-framework-per-creare-applicazioni-native/" aria-label="Per saperne di più su ionicframework: un altro framework html5 per creare applicazioni native per mobile">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>ionicframework (<a href="http://ionicframework.com" target="_blank" rel="noopener noreferrer">ionicframework.com</a>) è un altro framework HTML5/JS/CSS3/SASS che grazie a cordova permette di creare applicazioni native per i vari device mobili.</p>
<p>La cosa interessante è che utilizza AngularJS e che ha un sistema di scaffolding che permette di partire con il codice di base da modificare manualmente.</p>
<p>Il codice è Open Source, rilasciato sotto licenza MIT.</p>
<p>L&#8217;installazione di va fatta con npm:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo npm install -g ionic</pre><p></p>
<p>se non avete cordova installarlo con:</p><pre class="urvanov-syntax-highlighter-plain-tag">sudo npm install -g cordova
sudo npm install -g ios-sim</pre><p></p>
<p>La creazione di un&#8217;app di base richiede pochissimi comandi:</p><pre class="urvanov-syntax-highlighter-plain-tag">ionic start todo blank
cd todo/
sudo ionic setup sass</pre><p>la prima volta consiglio si usare <strong>sudo</strong>, perché vengono automaticamente installate altre librerie sul sistema</p><pre class="urvanov-syntax-highlighter-plain-tag">ionic platform add android
cordova plugin add org.apache.cordova.inappbrowser
cordova plugin add org.apache.cordova.network-information
cordova plugin add org.apache.cordova.statusbar
ionic build
ionic emulate</pre><p></p>
<p>Un&#8217;altra cosa da segnalare è CREATOR (<a href="http://ionicframework.com/creator/" target="_blank" rel="noopener noreferrer">ionicframework.com/creator/</a>) che permette di creare la parte grafica dell&#8217;app tramite drag&amp;drop.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2014/12/09/ionicframework-un-altro-framework-per-creare-applicazioni-native/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>cordova: An error occured during creation of android sub-project</title>
		<link>https://blog.smsoft.it/2013/09/19/cordova-an-error-occured-during-creation-of-android-sub-project/</link>
					<comments>https://blog.smsoft.it/2013/09/19/cordova-an-error-occured-during-creation-of-android-sub-project/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Sep 2013 14:09:26 +0000</pubDate>
				<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[cordova]]></category>
		<category><![CDATA[phonegap]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=2697</guid>

					<description><![CDATA[Ebbene si, tra le tante cose ho deciso di esplorare anche PhoneGap. Dopo mesi di prove con Titanium, che purtroppo non mi ha lasciato molto soddisfatto, ho sviluppato la mia prima app per android con Android Studio in modo nativo. E&#8217; però rimasta la curiosità sui sistemi con base html5 che permettono di creare applicazioni ... <a title="cordova: An error occured during creation of android sub-project" class="read-more" href="https://blog.smsoft.it/2013/09/19/cordova-an-error-occured-during-creation-of-android-sub-project/" aria-label="Per saperne di più su cordova: An error occured during creation of android sub-project">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Ebbene si, tra le tante cose ho deciso di esplorare anche PhoneGap. Dopo mesi di prove con Titanium, che purtroppo non mi ha lasciato molto soddisfatto, ho sviluppato la mia prima app per android con Android Studio in modo nativo.<br />
E&#8217; però rimasta la curiosità sui sistemi con base html5 che permettono di creare applicazioni multipiattaforma: non male sviluppare un&#8217;app che possa essere pubblicata nei vari store con mìpoche modifiche!</p>
<p>Ora, non mi dilungo a descrivere come installare cordova e phonegap (si tratta di operazioni banali da riga di comando), ma vi racconto un problema che apparentemente nessun altro ha (le ricerche su google non hanno prodotto risultato) e che non riuscivo a spiegare, dato che tutto era correttamente installato.</p>
<p>Praticamente, dopo aver creato il progetto:</p><pre class="urvanov-syntax-highlighter-plain-tag">cordova create hello com.example.hello "HelloWorld"</pre><p></p>
<p>stavo tentando di aggiungere il modulo per android:</p><pre class="urvanov-syntax-highlighter-plain-tag">cd hello
cordova platform add android</pre><p></p>
<p>ma ho ricevuto l&#8217;errore:</p><pre class="urvanov-syntax-highlighter-plain-tag">[Error: An error occured during creation of android sub-project. /Applications/Android Studio.app/sdk/tools/android
4:android-18
/Applications/Android Studio.app/sdk/tools/android update project --target 4:android-18 --path /Users/tech/.cordova/lib/android/cordova/3.0.0/framework &> /dev/null
An unexpected error occurred: "$ANDROID_BIN" update project --target $TARGET --path "$BUILD_PATH"/framework >&/dev/null exited with 1
Deleting project...
]</pre><p></p>
<p>Dopo un po&#8217; di debug, mi sono accorto che il problema era sulla versione (<strong>$TARGET</strong>) di android che non veniva correttamente riconosciuta. Come mai?<br />
Praticamente lo script che viene usato per aggiungere la nuova piattaforma android, utilizza il comando <strong>grep</strong>, in combinazione con altro, per recuperare la versione, ma dato che ho impostato delle opzioni per grep tramite la riscrittura della variabile <strong>GREP_OPTIONS</strong> nel mio bash_profile, il comando non produceva l&#8217;output atteso&#8230;</p>
<p>Dunque, nel mio caso è bastato modificare</p><pre class="urvanov-syntax-highlighter-plain-tag">vi ~/.cordova/lib/android/cordova/3.0.0/bin/create</pre><p>ed intorno alla riga 80, aggiungere:</p><pre class="urvanov-syntax-highlighter-plain-tag">export GREP_OPTIONS=""</pre><p></p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2013/09/19/cordova-an-error-occured-during-creation-of-android-sub-project/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
