Blog

Ho il tempo per un post veloce, dopo aver passato un pomeriggio ad aggiornare la mia app myChatDroid for Facebook alla versione 4.3.0.

Per la precisione ho impiegato 1 ora tra l’aggiornamento del SDK di Facebook per Android (che rende deprecato il permesso “offline_access”), la traduzione dell’interfaccia in lingua italiana (prima era solo in inglese) e altri fix minori. Altre 3 ORE le ho passate per capire il motivo per cui, dopo l’invio del pacchetto aggiornato a Google Play (ex Android Market), l’aggiornamento sul dispositivo falliva restituendo un errore abbastanza assurdo, dal mio punto di vista:

File pacchetto non firmato correttamente


o in inglese…

Package file not signed correctly


… l’assurdità stava nel fatto che, al contrario di quanto sosteneva il mio dispositivo Android, il pacchetto APK era stato compilato e firmato utilizzando esattamente la stessa procedura, con lo stesso keystore di sempre e la stessa password. E, tra l’altro, il pacchetto era stato accettato dal pannello sviluppatori di Google Play, il quale invece, in caso di errore del certificato, dovrebbe impedire il caricamento del pacchetto APK.

Bene, dopo tanti sbattimenti ho scoperto che l’aggiornamento del JDK (Java Development Kit) da Sun JDK 6 a Oracle JDK 7 sul mio portatile ha cambiato il funzionamento di qualcosa, probabilmente del programma jarsigner, che a quanto pare firma i pacchetti in modo diverso dalla versione precedente, non permettendo ad Android di riconoscere la firma.

Il problema non riguarda soltanto gli aggiornamenti, per i quali poteva tradursi in un difetto di firma “diversa” da quella del pacchetto già installato, ma anche le nuove installazioni delle app… il tool di JDK 7 genera dei pacchetti non validi e quindi è completamente inutilizzabile!!

Credo che questo problema dovrebbe essere quanto meno documentato nel manuale di Android…

La sostituzione di JDK 7 con JDK 6 ha risolto il problema e, dopo aver ricompilato e ripubblicato myChatDroid, adesso l’app si riesce a scaricare correttamente su tutti i dispositivi :)

Un ringraziamento a @GeekMike per aver pubblicato il post che mi ha messo sulla giusta strada!

UPDATE: da un’indagine più approfondita è emerso che la causa del problema è il diverso algoritmo “digest” di default tra le JDK; Java 6 utilizza SHA1, mentre Java 7 utilizza SHA-256.
L’attuale SDK Android r18 non supporta ne’ questo algoritmo, ne’ l’impostazione di un algoritmo diverso da quello di default, ma a partire dalla r20 tutto ciò dovrebbe essere gestito correttamente. E’ già possibile scaricare una preview della r20 dal sito tools.android.com.

Link al bug tracker ufficiale


December 17, 2011 22:39 - 3 comments

Esattamente una settimana fa mi sono imbarcato sul traghetto Termini Imerese – Pisa per il mio viaggio di sola andata verso un futuro migliore. Non mi soffermo sui dettagli e motivazioni, perchè penso di essermi già dilungato abbastanza nel precedente post (Destinazione Pisa!).

Probabilmente alcuni vorranno sapere come sta andando questa nuova avventura… e io vi racconterò un po’ le mie prime impressioni :)

Il viaggio in traghetto è stato traumatico, ma indispensabile perchè purtroppo dovevo portare con me l’auto (il posto di lavoro è a 15 minuti da Pisa, non collegato da mezzi pubblici). Comunque NON FATELO se non siete obbligati… ve ne pentireste anche prima della partenza! Due ore di ritardo iniziali e due ore per lo sbarco = 20 ore di vita che scorrevano via inesorabilmente e moooolto lentamente :(
A quanto sembra, molti preferiscono il Palermo – Civitavecchia… ma spero di non doverlo provare mai ugualmente.

Il primo impatto con la Pisa di tutti i giorni è stato… umido! Un benvenuto dal cielo coperto e pioggia a volte violenta, ma ciò non mi ha impedito di andare in ufficio ogni giorno e effettuare i miei laboriosi trasferimenti: 4 giorni al B&B e adesso starò 1 settimana ospitato da amici (lodi lodi lodi!)… ma nel frattempo mi sono dato da fare e ho trovato una sistemazione più stabile abbastanza velocemente. Infatti dal 21 dicembre andrò ad abitare una stanza di una casa con due gggiovani studenti, molto simpatici e “a modo”… sono stato fortunato! :)
Tutto ciò in attesa che Tiziana mi raggiunga quassù, a quel punto prenderemo un appartamento.

Vorrei spendere una frase per ricordare la stupenda permanenza al Bed & Breakfast “Tieni il Tempo” di Pisa: fin dal primo momento sono stato accolto con calore e gentilezza, in un ambiente confortevole e molto curato (la struttura è nuovissima, hanno aperto lo scorso ottobre). I prezzi abbordabili mi hanno convinto a provarlo e devo dire che ne sono entusiasta, lo consiglio a chiunque voglia passare un periodo a Pisa, a due passi dalla famosa Torre pendente! :)

Il mio lavoro a TD Group è iniziato molto bene: fin dal primo giorno ho cominciato a partecipare alle riunioni con il team commerciale, per un progetto che è appena partito e riguarda la produzione di un software gestionale per un cliente privato. La fase progettuale è molto importante e prima di mettere mano al codice è meglio dedicargli il tempo necessario. Quindi per adesso mi occupo di collaborare all’analisi funzionale di questo progetto, come fase preliminare per lo sviluppo di un software di qualità (si spera)… finora mi ritengo soddisfatto!
L’ambiente lavorativo è molto vario, gente di tutte le età che viene un po’ da tutta l’Italia; ho già cominciato a ricordare qualche nome, cosa per me complicatissima visto l’elevato numero di nuove conoscenze degli ultimi giorni! Spero non si offenda nessuno, ma sono fatto così :P

Un bilancio della prima settimana a Pisa? Devo ancora abituarmi alle strade pisane ed a certe insolite regole, alle numerose rotonde e alla vista del fiume che improvvisamente fa tornare a posto il senso dell’orientamento. Ma soprattutto ho imparato che è meglio non fidarsi mai troppo del navigatore GPS: con la spessa coltre di nubi di certe mattinate, il segnale dei satelliti non passa… e se non ti orienti puoi vagare per ore tra sensi unici e rotonde! Insomma, dovrò memorizzare al più presto a la cartina di Pisa! :D

Avere già degli amici a Pisa mi ha facilitato non di poco in questo periodo impegnativo, non solo per l’ospitalità, ma anche per le varie dritte utilissime e per il piacevole tempo che si passa insieme.

Di Palermo mi mancano diverse cose, anzi più persone che cose, ma i trasferimenti sono sempre così. Alcuni mi raggiungeranno al più presto, come la mia mogliettina, altri verranno a trovarci qualche volta, altri ancora prenderanno le loro strade e magari ci rivedremo qualche volta durante le vacanze.

Vi lascio con un pensiero di Kahlil Gibran, che ultimamente rileggo spesso:

La mia casa mi dice: « Non lasciarmi, perchè è qui che dimora il tuo passato ».

E mi dice la strada: « Vieni e seguimi, perchè sono io il tuo futuro ».

E io dico alla casa e alla strada: « Non ho passato nè futuro. Se resto c’è un andare nel mio rimanere; se vado, c’è un restare nel mio andarmene. Solo Amore e morte cambiano tutto».

November 29, 2011 15:18 - 6 comments

TD Group SpAOggi si concretizza un progetto a cui penso da diversi anni: vivere e lavorare in un ambiente che consenta una certa tranquillità, professionale e familiare.
La Toscana era l’obbiettivo principale… e Pisa è la graditissima destinazione finale! :)

Dal 12 dicembre inizierò la mia esperienza lavorativa presso TD Group SpA, una grande azienda italiana con sedi in tutta la penisola ed anche all’estero.

La sede principale, dove lavorerò, si trova a pochi chilometri da Pisa, nella zona di Migliarino…. ecco cosa vedrò ogni giorno andando in ufficio:

La dinamica del mio incontro con TD Group è stata un po’ fortunosa, in quanto mi hanno chiamato in un momento in cui avevo già programmato il viaggio a Pisa per altri colloqui. Fortunatamente sono riuscito a liberarmi per una mattinata, in cui ho visitato la sede dell’azienda e ho conosciuto le persone con cui lavorerò… davvero tutti molto gentili e disponibili!
Tornato a Palermo e passato il weekend, ieri ho ricevuto la loro proposta ufficiale, che ho accettato molto volentieri :)

A Pisa, io e la mia mogliettina Tiziana avremo la possibilità di essere entrambi realizzati professionalmente e poter progettare con serenità un futuro che includa obbiettivi a lungo termine. Finalmente!!!

Lì troveremo una colonia palermitana già ben solida, amici che prima di noi hanno colto l’opportunità di emigrare e che in questi giorni ci hanno aiutato tantissimo nell’organizzazione di questo trasferimento. Li ringrazio già da ora, ma troverò il modo di sdebitarmi :)

Lascio Palermo… la tanto odiata/amata Palermo… ma i sacrifici che saranno necessari per questo trasferimento mi sembrano superati di gran lunga dai vantaggi. Spero di non sbagliarmi!

Allontanarci da famiglie ed amici non ci fa piacere, ma sappiamo che non importa la distanza quando ci si vuole bene: loro ci saranno sempre quando torneremo (in vacanza) e noi li accoglieremo a braccia aperte, qualora decidessero di farci una visita o addirittura di seguire i nostri passi! :)

Invece provo un immenso piacere nel dire addio al mondo del lavoro palermitano: negli ultimi mesi mi sono sentito chiuso in gabbia, vincolato a compromessi che ero obbligato accettare, a volte vergognandomi di parlare del mio lavoro e della gente con cui ero entrato in affari. Addio!

Un ringraziamento a tutti i colleghi di lavoro che con me hanno condiviso le gioie e i (tanti) dolori di questi ultimi 6 anni. A loro auguro un grande in bocca al lupo, per qualunque progetto vogliano portare avanti e per qualsiasi sogno stiano covando più o meno segretamente :) E’ stato bello lavorare con voi!


htc wildfire root cyanogenDopo un’attesa interminabile, è finalmente possibile bypassare i nuovi sistemi di sicurezza di HTC, introdotti con l’aggiornamento ad Android Froyo 2.2, ed ottenere i permessi di root sui terminali protetti da HBOOT 1.01, tra i quali Wildfire, Aria, Incredible S e Desire.

Il merito per questa “rivoluzione” va soprattutto al team AlphaRev, che con il software AlphaRev X è riuscito dove tutti si erano bloccati per mesi, esattamente da Dicembre 2010.

Questo ci da la possibilità di installare ROM personalizzate, abilitare l’overclocking e tanto altro… adesso possiamo diventare i veri padroni del nostro smartphone! :)

Personalmente, mi sono deciso a fare questo grande passo dopo aver capito che non ci sarebbero stati ulteriori aggiornamenti per il mio Wildfire da parte di HTC, la quale si giustifica dicendo che i terminali in questione non hanno un hardware sufficiente a reggere l’ultima versione di Android, nome in codice Gingerbread.
Beh, le possibili verità sono due: o i programmatori di HTC sono VERAMENTE scarsi (volendo credere alla buona fede di HTC), oppure la strategia commerciale dell’azienda cinese punta a non aggiornare i terminali per spingere gli utenti ad acquistarne altri più nuovi.

Le motivazioni per effettuare il rooting del proprio dispositivo possono essere molteplici:

  • La possibilità di installare una ROM personalizzata, magari senza l’interfaccia Sense, che riduce le prestazioni, la durata della batteria e lo spazio sulla memoria interna (io ho guadagnato ben 50MB!);
  • L’ overclocking, cioè la possibilità di spingere la CPU oltre i limiti imposti dal costruttore, che spesso sono limitazioni imposte senza criterio;
  • Aggiornamenti regolari: installando una ROM tra le più supportate, come CyanogenMod o WildPuzzle, non ci sarà mai la preoccupazione di rimanere con un software obsoleto, in quanto c’è una comunità di sviluppatori che lavora costantemente per portare le ultime novità sui nostri smartphone;
  • La libertà di accedere e modificare tutti i dati presenti sul dispositivo, che apre le possibilità per configurazioni personalizzate e soprattutto consente di effettuare un backup completo di dati e applicazioni, in modo da poterle ripristinare successivamente (ed essendoci un’ampia scelta di ROM da provare, il backup risulta utilissimo).

C’è da dire che la procedura descritta invalida la garanzia, quindi seguitela solo se ne siete consapevoli e decidete di assumervi tutti i rischi del caso.
NON PROVATECI SE NON SAPETE ESATTAMENTE QUELLO CHE STATE FACENDO!

ATTENZIONE! LA GUIDA CHE SEGUE E’ ORMAI VECCHIA!
Leggendo attentamente il post ed i commenti, e magari con un po’ di inventiva, probabilmente riuscirete ad effettuare tutti i passaggi anche con gli strumenti più “moderni” usciti di recente. Però se non siete esperti vi consiglio di cercare un’altra guida, altrimenti rischiate di fare qualche danno al vostro smartphone :)

Andiamo alla procedura, che presuppone un po’ di dimestichezza con l’utilizzo del computer e fa uso di diversi tool reperibili gratuitamente su Internet:

  1. Driver ADB (solo se si usa Windows);
  2. AlphaRev X;
  3. ClockworkMod Recovery;
  4. Una versione modificata di su;
  5. CyanogenMod 7.1-RC1 (per ora non c’è bisogno di scaricarla).

Il prerequisito fondamentale perchè la procedura possa essere avviata è il funzionamento dello smartphone in modalità Debug, attivabile navigando nel menù

Impostazioni > Applicazioni > Sviluppo > Debug USB
Per far sì che lo smartphone sia riconosciuto dal computer come un dispositivo Android, bisognerà installare i Driver ADB se si usa Windows, oppure impostare correttamente Linux (guida).

Un altro prerequisito è che la scheda SD inserita nel telefono sia formattata con il filesystem FAT32. La mia era formattata con FAT16, quindi ho dovuto effettuare un backup di tutti i file presenti sulla SD e riformattarla dal computer (suppongo non ci sia bisogno di spiegazioni).

Iniziamo!

htc wildfire root alpharevxIl primo tool, AlphaRev X, è ancora in versione beta, ma sul mio Wildfire ha funzionato perfettamente. Serve per eliminare la protezione del bootloader e fargli accettare pacchetti di aggiornamento non “firmati” da HTC… tecnicamente questo è il passaggio dalla modalità S-ON alla modalità S-OFF.
Per scaricare AlphaRev X è necessario seguire la procedura sul sito ufficiale, che prevede l’inserimento del numero seriale dello smartphone per ottenere una chiave di sicurezza (beta key); potete trovare questo codice sul retro della confezione (dove c’è scritto S/N: …).
Una volta scaricato l’archivio, basterà scompattarlo, avviare l’eseguibile e seguire la semplice procedura mostrata a video, che richiederà di inserire la chiave di sicurezza ottenuta precedentemente.
Andate avanti nella procedura… e dopo qualche istante di adrenalina, vi ritroverete con il telefono sbloccato (ma non ancora rootato)! :)

Dopo aver avviato Android, che al momento non presenterà cambiamenti evidenti, bisognerà collegarlo al computer e copiare sulla SD il file PC49IMG.zip.

Successivamente bisognerà spegnere lo smartphone e riaccenderlo tenendo premuto il tasto Volume-Giù ed il tasto di accensione. Questa combinazione di tasti avvierà il bootloader, che dopo qualche secondo vi chiederà se volete avviare l’aggiornamento utilizzando il file PC49IMG.zip. Rispondendo “Yes” sarà installata la ClockworkMod Recovery, indispensabile per installare qualsiasi cosa all’interno del filesystem dello smartphone.

Riavviate il telefono, rimuovete il file PC49IMG.zip dalla SD e copiatevi il file su-2.3.6.1-ef-signed.zip.

Di nuovo, spegnete il telefono e riavviatelo tenendo premuto il tasto Volume-Giù ed il tasto di accensione. Questa volta, quando si sarà avviato il bootloader, selezionate la voce RECOVERY premendo il tasto Volume-Giù e successivamente premete il tasto accensione per avviare ClockworkMod Recovery.
Una volta all’interno della modalità recovery, selezionare la voce “Install Zip from SDCard” (quì ci si muove con la trackpad ottica, non con i tasti Volume) e “Choose Zip from SD Card”, selezionando infine il file che avete copiato sulla SD, su-2.3.6.1-ef-signed.zip.

Alla fine dell’aggiornamento… il vostro smartphone sarà rootato! :)

Potete fermarvi qui, se volete semplicemente utilizzare Android con i permessi di root, oppure andate avanti, per sostituire il sistema operativo “stock” di HTC con una ROM personalizzata.

Qualora vogliate provare la CyanogenMod 7, o qualsiasi altra ROM, tenete in conto che perderete tutti i dati presenti sulla memoria interna dello smartphone, come i contatti (se non li avete sincronizzati con l’account Google), gli SMS e ovviamente tutte le applicazioni scaricate con i dati ad esse associati.
Per eliminare il problema, basta scaricare dal Market l’app Titanium Backup e creare un backup completo di app e dati sulla scheda SD, da ripristinare dopo aver installato la ROM.

Per installare CyanogenMod 7, il mio consiglio è quello di utilizzare la procedura più comoda, ovvero scaricare dal market l’app ROM Manager e, dopo averla avviata:

  1. aggiornare ClockworkMod Recovery alla versione 2.5.x (IMPORTANTE!);
  2. effettuare un backup della ROM attuale (indispensabile nel caso in cui si volesse tornare indietro);
  3. scaricare CyanogenMod 7.1-RC1 con il pacchetto aggiuntivo Google Apps (che include il Market);
  4. al momento dell’installazione della ROM, selezionare le opzioni “Backup Existing ROM” e “Wipe Data and Cache”;
  5. attendere il riavvio dello smartphone e l’installazione della ROM

Se tutto è andato per il verso giusto, non vi resta che godervi la vostra nuova esperienza con Android! :)

Dopo l’installazione della CyanogenMod 7 vi ritroverete con un’ampia scelta di applicazioni utilissime, scaricabili normalmente dal Market Android, ma che funzionano soltanto su dispositivi con i permessi di root sbloccati.

Ecco qualche esempio:

  • Titanium Backup, già citata ma importantissima;
  • BatteryCalibration, da far girare ogni volta che si cambia ROM per ricalibrare la batteria;
  • Market Enabler, per poter scaricare le applicazioni non disponibili nel mercato italiano (es. Pandora);
  • Orbot, per connettere il proprio smartphone alla rete Tor e navigare anonimamente e senza restrizioni.

Altre app molto utili, per chi era abituato alle app di HTC, potrebbero essere:

  • GO SMS Pro, per la messaggistica SMS/MMS;
  • OnePunch Notes, per avere i widget stile Post-It sul desktop;
  • QuickPic, come rimpiazzo alla Galleria predefinita di Android;
  • Simple Calendar Widget, per inserire sul desktop un gradevole widget con il calendario.

… e c’è ancora tanto altro da scoprire! Buon divertimento!! :)

Fonte: Android.AppStorm.


ExploroE’ stata da poco rilasciata la versione 2.0 dell’applicazione ufficiale di Exploro!

Exploro è un sistema multipiattaforma, che attraverso una facile e veloce applicazione mobile, un sito web ricco di notizie e approfondimenti e un circuito di totem touchscreen, offre informazioni e servizi geolocalizzati.

Effettuata la registrazione e scaricata gratuitamente l’applicazione sul proprio dispositivo mobile, l’utente visualizzerà la propria posizione geografica e tutte le informazioni sui luoghi e le attrazioni più e meno vicine. Attraverso un sistema di geolocalizzazione satellitare, l’utente potrà condividere con il proprio network, luoghi, eventi e promozioni del territorio selezionato, pubblicando commenti, recensioni e percorsi personalizzati sulla piattaforma Exploro.it.

Exploro permette agli utenti di consultare in tempo reale luoghi gli eventi e le offerte promossi dalle aziende e dagli enti del territorio che si desidera esplorare scambiando commenti e messaggi con gli altri membri della community.

A partire dalla versione 2.0, l’applicazione ufficiale per dispositivi Android è sviluppata dal sottoscritto, all’interno di RPS Consulting S.p.A.! :)

Ecco qualche schermata…

Exploro schermata 1 Exploro schermata 2 Exploro schermata 3

Per scaricare l’app, cliccate su uno dei seguenti link: