<?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>apk &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/apk/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, 27 Oct 2015 09:30:53 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=62870</generator>
	<item>
		<title>ERROR: Failed to install apk to device: 	pkg: /data/local/tmp/MainActivity-debug.apk Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]</title>
		<link>https://blog.smsoft.it/2015/10/27/error-failed-to-install-apk-to-device-pkg-datalocaltmpmainactivity-debug-apk-failure-install_parse_failed_inconsistent_certificates/</link>
					<comments>https://blog.smsoft.it/2015/10/27/error-failed-to-install-apk-to-device-pkg-datalocaltmpmainactivity-debug-apk-failure-install_parse_failed_inconsistent_certificates/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 27 Oct 2015 09:30:53 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[Sencha]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[certs]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3241</guid>

					<description><![CDATA[Se provando ad installare sul device un apk tramite: [crayon-6a41accdc9784366267049/] visualizzate l&#8217;errore: [crayon-6a41accdc9799894719193/] sicuramente il problema è che c&#8217;è un&#8217;altra app con lo stesso bundle precedentemente installata ma con differente certificato. Per ovviare, basta cancellare l&#8217;app già installata. enjoy!]]></description>
										<content:encoded><![CDATA[<p>Se provando ad installare sul device un apk tramite:</p><pre class="urvanov-syntax-highlighter-plain-tag">cordova run android</pre><p>visualizzate l&#8217;errore:</p><pre class="urvanov-syntax-highlighter-plain-tag">ERROR: Failed to install apk to device: 	pkg: /data/local/tmp/MainActivity-debug.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]</pre><p></p>
<p>sicuramente il problema è che c&#8217;è un&#8217;altra app con lo stesso bundle precedentemente installata ma con differente certificato. </p>
<p>Per ovviare, basta cancellare l&#8217;app già installata.</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2015/10/27/error-failed-to-install-apk-to-device-pkg-datalocaltmpmainactivity-debug-apk-failure-install_parse_failed_inconsistent_certificates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Da APK a codice java</title>
		<link>https://blog.smsoft.it/2015/10/06/da-apk-a-codice-java/</link>
					<comments>https://blog.smsoft.it/2015/10/06/da-apk-a-codice-java/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 06 Oct 2015 09:30:53 +0000</pubDate>
				<category><![CDATA[Cordova]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[dex2jar]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JD-GUI]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=3236</guid>

					<description><![CDATA[Le applicazioni Android utilizzano il formato APK, ovvero un file ZIP che contiene anche un file in formato Dalvik Executable (.dex). Prima di tutto estraiamo il file classes.dex dall&#8217;APK: [crayon-6a41accdc9ea4726619667/] Ora utilizziamo dex2jar per convertire classes.dex in un file .class Java: Ora che abbiamo ottenuto il file classes.dex.dex2jar.jar lo possiamo aprire con JD-GUI e poi ... <a title="Da APK a codice java" class="read-more" href="https://blog.smsoft.it/2015/10/06/da-apk-a-codice-java/" aria-label="Per saperne di più su Da APK a codice java">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Le applicazioni Android utilizzano il formato <strong>APK</strong>, ovvero un file ZIP che contiene anche un file in formato <a href="http://en.wikipedia.org/wiki/Dalvik_(software)" target="_blank" rel="noopener noreferrer">Dalvik Executable (.dex)</a>.</p>
<p>Prima di tutto estraiamo il file <strong>classes.dex</strong> dall&#8217;<strong>APK</strong>:</p><pre class="urvanov-syntax-highlighter-plain-tag">$ unzip program.apk classes.dex</pre><p></p>
<p>Ora utilizziamo <a href="http://sourceforge.net/projects/dex2jar/?source=typ_redirect" target="_blank" rel="noopener noreferrer">dex2jar</a> per convertire classes.dex in un file .class Java:<br />
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock133256">
                <p></p><pre class="urvanov-syntax-highlighter-plain-tag">dex2jar/d2j-dex2jar.sh ./classes.dex</pre><p></p>
            </div>
         

        </p>
<p>Ora che abbiamo ottenuto il file <strong>classes.dex.dex2jar.jar</strong> lo possiamo aprire con <a href="http://jd.benow.ca/" target="_blank" rel="noopener noreferrer">JD-GUI</a> e poi con il menu <strong>File</strong> -> <strong>Save all sources</strong> generariamo un file zip denominato <strong>classes.dex.dex2jar.src.zip</strong> contenente tutto il sorgente java decompilato.</p>
           
            <div class="onp-locker-call" style="display: none;" data-lock-id="onpLock921157">
                <p>PS: per recuperare gli APK, ovviamente quelli gratuiti, si può usare il sito http://downloader-apk.com/</p>
            </div>
         

        
<p>Enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2015/10/06/da-apk-a-codice-java/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="onpLock581752">
                <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="onpLock420943">
                <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="onpLock816263">
                <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="onpLock687940">
                <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>
	</channel>
</rss>
