Android: installare suonerie, allarmi e notifiche della Sense dell’HTC Desire

Alcuni giorni fa ho scardinato il mio HTC Desire con Unrevoked3 e successivamente vi ho installato l’ultima MIUI unstable 1.8.5 (aggiornato poi alla 1.8.12).

Quello che subito mi è mancato sono state le suonerie e le notifiche che avevo sulla Sense della rom originale. Ho così cercato informazioni per creare un pacchetto update.zip che le contenesse per flasharle direttamente sulla rom Miui.

Il risultato è stato questo:

update_audio_sense_htc_desire.zip

Questo file l’ho flashato sul mio HTC Desire con Miui 1.8.12 partendo da recovery ClockworkMod ed è andato tutto bene.

Chi vuole può scaricarlo ed usarlo assumendosi tutti i rischi e pericoli. Quindi rendete inutilizzabile il vostro bel telefono non mi venite a chiamare 🙂

 

 

Android: creare un file update.zip

Mi appunto qui di seguito i passi per creare un file update.zip da utilizzare per flashare un aggiornamento/modifiche su una rom Android:

  • Creare una directory di lavoro e posizionarcisi dentro
  • Creare la struttura di directory/files da copiare/applicare alla rom
  • Creare la direcrotry META-INF/com/google/android e copiarci dentro il file update-binary
  • Sempre in META-INF/com/google/android creare il file updater-script contenente le istruzioni per applicare le modifiche alla rom
  • Creare un file zip con il nome update.zip inserendovi tutto il contenuto della directory di lavoro creata
  • Eseguire il sign del file update.zip nel seguente modo:
    • Scaricare il seguente il file Auto-Sign v0.65 e decomprimerlo
    • Copiare il file update.zip nella cartella di Auto-Sign
    • Eseguire il seguente comando (si suppone che sia installato Java sul proprio sistema):
      • java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip
A questo punto abbiamo ottenuto il file update_signed.zip che dovrà essere rinominato in update.zip, copiato sulla sdcard e flashato da recovery clockworkMod.
Queste note sono state scritte prendendo spunto da qui.

Android: sintassi e comandi per il file updater-script di un file update.zip

Di seguito riporto la sintassi dei comandi da inserire nel file updater-script di un file update.zip utilizzato per flashare gli aggiornamenti su una rom Andorid. Il tutto è stato ripreso da XDA, da qui e qui.

Mounting Partition

MTD
mount("MTD", "system", "/system");
mount("MTD", "userdata", "/data");
mount("MTD", "cache", "/cache");
mount("MTD", "sdcard", "/sdcard");
EMMC
mount("ext4", "EMMC", "/dev/block/mountpoint", "/system");
mount("ext4", "EMMC", "/dev/block/mountpoint", "/data");
mount("ext4", "EMMC", "/dev/block/mountpoint", "/cache");
 
mount("ext3", "EMMC", "/dev/block/mountpoint", "/system");
mount("ext3", "EMMC", "/dev/block/mountpoint", "/data");
mount("ext3", "EMMC", "/dev/block/mountpoint", "/cache");
 
mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
mount("ext4", "EMMC", "/dev/block/mmcblk0p25", "/cache");

Unmounting Partitions

unmount("/system");
unmount("/data"); OR unmount("/userdata");
unmount("/cache");
unmount("/sdcard");

Format Partitions

format("MTD", "system");
format("MTD", "cache");
format("MTD", "data");
format("MTD", "boot");
 
format("ext4", "EMMC", "/dev/block/mountpoint");
 
format("ext3", "EMMC", "/dev/block/mountpoint");
 
format("ext4", "EMMC", "/dev/block/mmcblk0p23");
format("ext4", "EMMC", "/dev/block/mmcblk0p24");
format("ext4", "EMMC", "/dev/block/mmcblk0p25");
format("ext4", "EMMC", "/dev/block/mmcblk0p22", "/boot");

Copy files from .zip file to phone partition or sd card:

package_extract_dir("Source", "Destination");

Example:

package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
package_extract_dir("sdcard", "/sdcard");

Output a line of text:

ui_print("Text Here");

Delete a file:

delete_recursive("file/path");
delete("/path/to/file");

Run Program

run_program("command", "parameter_1", "parameter_2" [, "parameter_2"[, ... ] ] );

Example:

run_program("/sbin/busybox", "umount", "/sd-ext");

Symbolic Link

symlink("source", "destination")

Example:

symlink("/data/etc/hosts", "/system/etc/hosts")

HTC Desire: abilitare A2SD+ su MIUI

Di seguito riporto i passi che utilizzato per abilitare A2SD+ sulla Miui unstable 1.8.5 installata sul mio HTC Desire.

A2SD+ risolve il problema della poca capienza di memoria del Desire destinata alle applicazioni andando ad installare quest’ultime sulla scheda SD in una partizione ext3 appositamente dedicata.Quindi mi sono munito di una nuova scheda SD da 8GB calsse 4 l’ho partizionata utilizzando il seguente metodo:

  1. Disinstallare tutte le applicazioni escluso quelle per noi più importanti
  2. Assicurarsi che le applicazioni rimaste non siano installate sulla SD, eventualmente spostarle sul telefono
  3. Inserire nel telefono la nuova scheda SD vuota da partizionare (se non è vuota tutti i dati andranno persi)
  4. Installare Rom Manager
  5. Da Rom Manager partizionare la scheda SD in modo da creare la partizione ext3 per A2SD+ scegliendo la dimensione desiderata (io ho scelto 512MB). Il telefono verrà riavviato e verranno create le partizioni, al termine del partizionamento verrà ancora una volta riavviato. Se tutto è andato bene andando nel menu Impostazioni/Sistema/Scheda SD e memoria dovreste trovare una videata simile alla seguente che indica lo spazio totale e disponibile per A2SD+

Abilitare A2SD+ (tratto da Nexus-Lab):

  1. Installare Android Terminal Emulator dal web market
  2. Avviare Android Terminal Emulator
  3. Digitare su (verranno chiesti i permessi di root)
  4. Digitare system/bin/a2sd check
  5. Digitare system/bin/a2sd reinstall (attendere la fase di installazione e il successivo riavvio automatico)
  6. Riavviare Android Terminal Emulator
  7. Digitare su verranno chiesti i permessi di root
  8. Digitare system/bin/a2sd cachesd (attendere la creazione della cartella su SD e il successivo riavvio automatico)

Le applicazioni presenti sul telefono sono state spostate sulla partizione ext3 della scheda SD liberando la memoria interna del telefono. Da ora in poi andranno a finire dentro la partizione ext3 anche tutte le nuove applicazioni che verranno installate.

E’ da tenere presente che i passi sopra indicati per abilitare A2SD+ vanno rieseguiti ogni volta che viene installata una nuova versione della rom Miui da full wipe o da wipe cache e davilcache.

Le operazioni sopra indicate sono state eseguite su un HTC Desire scardinato con Unrevokerd3 (come descritto qui) e con una Rom Miui unstable 1.8.5. Site consapevoli che quanto descritto sopra non è a prova di brick e quindi se incasinate il vostro prezioso smart phone sono cavoli vostri 🙂

Come ultima cosa ho utilizzato il pc per copiare tutti i dati della vecchia scheda SD su quella nuova.

HTC Desire: ROOT, Recovery e S-OFF

Riporto qui sotto la procedura che ho utilizzato per sbloccare il mio HTC Desire e ottenere il root, recovery e S-OFF.

Premetto che sono tutte operazioni a rischio di brick e quindi se scassate i vostro prezioso smartphone sono ca##i vostri 🙂

Ho seguito questa guida HTC Desire, ROOT, Recovery e Cambio di ROM e utilizzato Unrevoked3.

Innanzi tutto mi sono segnato un po di dati sul mio telefono, accendendo tenendo premuto la combinazione di tasti VolumeGiu+Power:

BRAVO PVT1 SHIP S-ON
HBOOT-0.93.0001
MICROP-031d
TOUCH PANEL-SYNT0101
RADIO-5.11.05.27
Aug 10 2010,17:52:10

Poi ho segnato tutte le informazioni software andando su Menu/Impostazioni/Info Sul Telefono/Informazioni Software:

Versione di Android: 2.2
Versione banda di base: 32.49.00.32U_5.11.05.27
Versione kernel: 2.6.32.15-gf5a401c htc-kernel@and18-2 #1
Numero build: 2.29.405.5

A questo punto ho eseguito i seguenti passi utilizzando un pc con Ubuntu 11.04:

  • Scaricare unrevoked3 recovery reflash tool, v3.32 e decomprimerlo con tar zxvf reflash.tar.gz
  • Assicurarsi di avere una buona carica della batteria
  • Sul Desire andare in Menu/Applicazioni/Sviluppo e abilitare Debug USB e Rimani Attivo
  • Collegare il Desire al computer con cavo usb
  • Eseguire unrevoked precedentemente scaricato con il comando sudo ./reflash e attendere senza mai scollegare il cavo fintanto che il programma non ci dice di farlo mostrando la schermata seguente con la scritta done (il device si riavvierà più volte):
Per quanto mi riguarda il processo è andato a buon fine non prima però di essermi preso un mezzo infarto, infatti in un primo momento ho lanciato unrevoked da il mio pc desktop che ha pensato bene di andare un crash durante la prima fase della procedura. Fortunatamente il telefono è ripartito senza problemi e ho ripetuto l’operazione, questa volta dal notebook e tutto è filato liscio.

Unixstickers: personalizza il pc con lo sticker della tua distribuzione linux

Oggi ho ricevuto due stickers Debian gentilmente omaggiati da Unixstickers.com. Non ho peso tempo ne ho subito applicato uno al mio fido serverino casalingo al cui interno batte un cuore Debian, appunto 🙂

Unixstickers sta portando avanti un’iniziativa interessante: la commercializzazione di stickers con cui personalizzare i propri notebook, pc o qualsiasi altro dispositivo su cui possa girare una distribuzione linux. Attualmente sono disponibili soltanto per la distribuzione Debian, ma a breve (parole di Stefano Di Luca, responsabile del progetto) dovrebbe essere possibile acquistare un pacchetto di stickers a tema.

Joomla: wdbanner variant v. 1.3, modulo per banner a rotazione

Ho aggiornato il modulo per la visualizzazione di banner a rotazione con le seguenti caratteristiche:

  • Rimosso il campo suffisso dai parametri: ora non è più necessario specificare il suffisso che identificava univocamente il banner in caso di presenza di più moduli nella stessa pagina
  • Aggiunto parametro Flash wmode per indicare la modalità di visualizzazione dei banner in flash. Infatti nella precedente versione vi era un problema quando un elemento div della pagina si sovrapponeva al banner, quest’ultimo veniva mostrato sempre in primo piano. Adesso il problema è risolto, basta impostare il parametro wmode con il valore transparent che è di default.
E’ possibile scaricare questa nuova versione da qui:

Primo assegno Adsense

Alcuni giorni fa ho ricevuto il mio primo pagamento da parte di Google per quanto riguarda la pubblicità Adsense sul blog e su un altro sito da me sviluppato.

L’importo è di circa € 70,00 accumulati in un anno.

Che dire ….. non è tantissimo, ma meglio che niente 😉

 

 

Joomla: recuperare l’identificativo di una voce di menu

Volendo recuperare l’identificativo di una voce di menu il codice di esempio qui sotto può essere di aiuto:

  1. $Itemid = '';
  2. $menu = &JSite::getMenu();
  3. if ( $items = $menu->getItems( 'link', 'index.php?option=com_agimm&view=elencoimmobili' ) )
  4.   foreach( $items as $menuItem )
  5.   {
  6.     if ( !$menuItem->published )
  7.      continue;
  8.  
  9.     $params = $menu->getParams( $menuItem->id );
  10.     if ( $params->get('tipo') == $immobili[0]->tipo and $params->get('id_categoria') == $immobili[0]->id_categoria )
  11.       $Itemid = $menuItem->id;
  12.   }
  • Alla linea 3 vengono recuperate le voci di menu in base al contenuto del link. Infatti il metodo getItems() di JMenu serve proprio a recuperare tutte le voci di menu corrispondenti ad un certo attributo. Il nome dell’attributo (ovvero il nome di un campo della tabella jos_menu) va indicato come primo parametro, mentre nel secondo va inserito il valore di pertinenza. Nel esempio vengono recuperate tutte le voci i cui link puntano alla view elencoimmobili del componente com_agimm.
  • Dalla linea 4 inizia il loop per ciclare le voci di menu recuperate
  • Alle linee 6 e 7 vengono saltate le voci di menu non pubblicate
  • Alle linee 9, 10 e 11  viene fatto un controllo sui parametri della voce di menu attuale e se corrisponde a quanto voluto viene preso l’id inserendolo nella variabile $Itemid

HTC Desire: liberare spazio saturo

Uno dei peggiori difetti che affligge l’Htc Desire è quello di avere poco spazio a disposizione per le applicazioni ed i propri dati.

Non avendo una rom rooted su cui installare un app2sd più efficiente di quella standard, ultimamente mi sono trovato a fare salti mortali per liberare spazio. Infatti nonostante abbia poche app aggiuntive installate ho dovuto fare i conti con l’esaurimento della memoria a disposizione.

Dopo avere disinstallato alcune app, spostato più app possibili su SD, tolto gli aggiornamenti a Flash e YouTube, ho iniziato a cancellare i dati delle app di sistema che non utilizzavo. Da qui ho scoperto che i dati di Facebook for HTC Sense occupavano la bellezza di 40MB. Li ho cancellati e lo spazio rom del Desire è tornato a nuova vita.

Per chi interessa la procedura da seguire è la seguente:

  • Andare suImpostazioni / Applicazioni / Gestisci applicazioni
  • Scegliere Tutte le applicazioni
  • Selezionare l’applicazione Facebook for Htc Sense
  • Fare un tap su Cancella dati

A quanto ho riscontrato i dati cancellati sono quelli relativi hai post facebook visualizzati su FriendStram. Non ritenetemi però responsabile se perderete altri dati 🙂