In order to fulfill the basic functions of our service, the user hereby agrees to allow Xiaomi to collect, process and use personal information which shall include but not be limited to written threads, pictures, comments, replies in the Mi Community, and relevant data types listed in Xiaomi's Private Policy. By selecting "Agree", you agree to Xiaomi's Private Policy and Content Policy .
Agree

Modding

[Guide] Nessuna ROM per il tuo dispositivo? CREALA! #2

2020-11-15 05:29:12
774 9
Ciao Mi Fans!

Nella nostra precedente guida su come realizzare una ROM a partire da una versione Android ‘AOSP’, che potete trovare QUI, abbiamo percorso quelle che sono le basi dello sviluppo. Abbiamo cominciato con la configurazione di Linux e dell'ambiente di sviluppo, abbiamo fatto chiarezza sui binari hardware e sui repository, infine abbiamo terminato la compilazione di una delle ROM Android più ‘semplici’. Quest’oggi siamo di nuovo qui con una nuova guida, la quale vi mostrerà come aggiungere sapore alla ROM inserendo un'animazione di avvio personalizzata, applicando modifiche al BuildProp e tanto altro. Mettetevi i guanti ed accendete il cervello, le cose si complicheranno.

PREMESSA:

Questa guida a scopo informativo, elenca una serie di azioni che se eseguite in maniera errata e senza le dovute conoscenze, potrebbero portare al bootloop del dispositivo o peggio. Pertanto noi, Xiaomi e la Mi Community Italia non saremo in alcun modo responsabili di eventuali danni causati ai vostri dispositivi, qualora sceglierete in autonomia di seguire questa guida. Ogni lamentela sarà completamente ignorata, per cui agite consapevolmente.

CREARE UN’ANIMAZIONE DI AVVIO


Una ‘bootanimation’ o più comunemente ‘animazione di avvio’, è semplicemente una combinazione di immagini che si susseguono in un loop, andando a realizzare un logo che verrà mostrato all’avvio del dispositivo. Non ci sono requisiti particolari per realizzare una, basta essere in possesso di un editor fotografico in grado di salvare ed esportare immagini in formato ‘png’ (Portable Network Graphics). Noi consigliamo Photoshop di Adobe, ottenibile anche in versione di prova, ma per chi preferisse invece alternative completamente gratuite, non posso far altro che consigliare GIMP e Paint.NET.

Supponendo che vogliate creare la vostra animazione di avvio personalizzata, ricordate che la risoluzione dell'immagine deve corrispondere a quella del vostro dispositivo. Quindi le vostre immagini dovrebbero essere realizzate con una risoluzione corrispondente a quella del display del telefono (Mi Mix 3: 1080x2340). Il salvataggio del file dovrà avvenire come già specificato, in formato ‘png’ a 32 bit. Inoltre dovrete salvare ogni fotogramma delle vostre immagini in questa maniera:


Non c'è un vero e proprio limite al numero di fotogrammi che si possono avere nell'animazione di avvio, ma la pratica più corretta nonché quella più utilizzata, è quella di utilizzare una quantità minore di fotogrammi in maniera tale da creare un loop. LineageOS ad esempio utilizza un'animazione in loop costruita sulla base di pochi fotogrammi, piuttosto che una lunga animazione continua. Agire in questo modo permetterà al dispositivo di avviarsi prima e all’animazione di essere più fluida durante l’esecuzione.


La prima cosa da fare, dopo aver creato le vostre immagini, sarà quella di creare due cartelle sul Desktop e rinominarle ‘part0’ e ‘part1’. Solitamente queste due cartelle sono più che sufficienti, tuttavia se si vuol creare un’animazione di avvio piuttosto complessa e lunga, sarà necessario creare altre cartelle ‘part’ (part3, part4 ecc). Ma a cosa servono queste cartelle? Ebbene, esse rappresentano la ‘struttura’ della bootnimation. La cartella part0 fungerà da ‘intro’ dell'animazione, mentre la part1 conterrà i frame di looping. Per animazioni più complesse potrebbe ad esempio esserci una part2 che rappresenterebbe l'outro dell’animazione, magari. Sembra difficile?

Pensatela in questo modo:
  • La vostra immagine appare sullo schermo, questi fotogrammi vengono salvati nella part0.
  • La vostra immagine fa qualche giretto un paio di volte, questi fotogrammi vengono salvati nella part1.
  • La vostra immagine scompare dallo schermo, questi fotogrammi vengono salvati nella part2.

Ha più senso detta così, vero? Spero sia chiaro.

Andiamo avanti. Sono certo che avrete notato il file di testo oltre le cartelle, ebbene esso è ciò che realmente controlla il modo in cui viene riprodotta la vostra animazione e si tratta di un semplice file di testo chiamato ‘desc.txt’. Questo file generalmente contiene del testo impostato in questa maniera:


SPIEGAZIONE ED IMPOSTAZIONE FILE DESC.TXT

In questo mini capitolo analizzeremo gli elementi facenti parte del file ‘desc.txt’ in quanto molto importanti e capiremo adattare questo file inserendo ‘codici’ relativi alla nostra bootanimation.

  • 720 1280 30 = Rappresenta la risoluzione (larghezza x altezza) + la riproduzione a 30 fotogrammi al secondo. Ovviamente si possono anche realizzare bootanimations a 60 FPS (o anche meno).
  • C = Rappresenta il comportamento dell’animazione. In questo caso con la lettera C (Continuous), essa continuerà ad essere riprodotta completamente e non si interromperà, anche se il sistema operativo è stato già caricato e pronto per essere utilizzato. E’ possibile opzionalmente usare P (Partial) al posto di C, che interromperà l'animazione e avvierà direttamente il sistema operativo non appena verrà caricato, ma questo farà sì che l'animazione non venga mai riprodotta completamente. D’altro canto, con un’animazione d’avvio in loop non si presenta quest’ultima problematica.
  • 1 = Rappresenta il conteggio del loop, sta a significare quante volte verranno riprodotti i fotogrammi all'interno della relativa cartella ‘part’ prima di passare a quella successiva.
  • 15 = Rappresenta la durata della ‘pausa’ di ogni fotogramma prima di passare a quello successivo. Il numero 15 rappresenta una pausa di 0,5 secondi poiché 15 è la metà di 30 e quindi 15 / 30 è uguale a 0,5. Se l’animazione fosse stata a 60 fps avremmo avuto la stessa situazione: 30 è la metà di 60 per cui 30 / 60 è uguale a 0,5
  • Partx = Rappresenta, come abbiamo già detto, la cartella che contiene i singoli file png che andranno a formare l’animazione di avvio e che pertanto verrà ‘riprodotta’ all’accensione dello smartphone.
  • 000xxx = Rappresenta il colore che vogliamo dare allo sfondo dei nostri png secondo codice ‘Hex’. E’ opzionale immettere un colore, molti sviluppatori preferiscono lasciare vuoto questo campo.

----------------------------------------------------------------------------------------------------------------------------------------------------

Fondamentalmente ciò che bisogna fare è predisporre il file desc.txt in maniera tale da far sì che venga letto in questo modo:


Capito ciò e creato il proprio file desc.txt, occorrerà creare un nuovo archivio ‘zip’ e rinominarlo come ‘bootanimation.zip’, all’interno di questo archivio dovranno essere inserite le cartelle ‘part’ e il file ‘desc.txt’. Se avete seguito la prima parte di questa guida, avrete già una WORKING_DIRECTORY sulla vostra macchina Linux. È necessario dunque copiare il file bootanimation.zip nella seguente cartella:


In questo modo, la prossima volta che costruirete la vostra ROM, il vostro file bootanimation.zip sarà utilizzato come animazione di avvio predefinita per la vostra ROM!

IMPOSTARE UNO SFONDO PREDEFINITO


Adesso che abbiamo capito come creare una bootanimation, passiamo al livello di personalizzazione successivo. Cosa sarebbe una ROM senza un Wallpaper predefinito a renderle onore? Sicuramente un qualcosa di molto triste. Dunque, vediamo come impostare uno sfondo predefinito per la nostra ROM!

Ovviamente la prima cosa da fare sarà quella di andare a scaricare (o creare se siete bravi) uno sfondo che abbia risoluzione pari a quella del dispositivo per cui state creando la ROM, dopodiché navigate fino a questa cartella:


Qui troverete un file nominato ‘default_wallpaper.jpg’. Copiate il nome del file e poi potrete sostituire quello predefinito con un'immagine di vostra scelta, che abbia stessa risoluzione e ovviamente, lo stesso nome del file. Quando costruirete la vostra ROM, l’immagine che avete inserito sarà il vostro nuovo wallpaper predefinito!

AGGIUNGERE INFORMAZIONI ALLA ROM

Chi di voi non ha mai fatto un giro in Impostazioni/Info Sistema? Immagino tutti, dato che è uno dei modi che su MIUI ci permette di controllare gli aggiornamenti di sistema. La sezione che riguarda le informazioni di sistema è però anche quel posto dove gli sviluppatori di custom rom, per farsi pubblicità, inseriscono immagini, testi o link riguardanti il team o il progetto su cui si basano. Ebbene questo sarà il nostro prossimo passo verso la personalizzazione, scopriremo come ‘customizzare’ la sezione ‘Info Sistema’.

Navigate in:

(nella cartella di costruzione del common tree)

Adesso aprite il file ‘device_info_settings.xml’ con GEdit (incluso nelle distro) e modificate queste informazioni come desiderate:

                                       
PERSONALIZZAZIONE APPLICAZIONE DI MESSAGGISTICA

Modificare un'applicazione preesistente è molto più facile che sostituire le applicazioni di base, quindi proveremo ad eseguire una semplice modifica dell'applicazione di messaggistica predefinita contenuta nell’AOSP. Navigate verso:


Poi aprite ‘BugleApplication.java’ con GEdit. Faremo una semplice aggiunta di una notifica toast, cioè l'app visualizzerà un messaggio pop-up personalizzato quando verrà aperta. Quindi, all'interno del file BugleApplication.java, cercate questa stringa di codice:


Cercate la funzione onCreate() e appena prima di Trace.endSection(), aggiungete queste righe:

Toast myToast = Toast.makeText(getApplicationContext(), “Testo Personalizzato!”, Toast.LENGTH_LONG);myToast.show();

Salvate il file e potrete vedere l'app di messaggistica visualizzare il messaggio con una notifica toast ogni volta che verrà aperta sulla vostra ROM!

MODIFICARE IL BUILD PROP

I dispositivi Android utilizzano un file chiamato ‘build.prop’ che è universale su tutti i dispositivi e che controlla i flag di runtime quando il sistema Android si avvia. Questo file è estremamente importante e molte delle proprietà presenti in esso sono uniche per ogni dispositivo, per cui una modifica errata potrebbe essere fatale. Tuttavia ci sono una manciata di modifiche riguardo il build.prop che possono essere applicate universalmente a praticamente tutti i telefoni Android e senza alcun rischio. Questa guida vi mostrerà alcune di queste modifiche e vi insegnerà a modificare il file build.prop.

Navigare fino alla cartella /build/tools nella directory di origine di Android e modificare il file ‘buildinfo.sh’ con un editor di testo. Esso contiene fondamentalmente ciò che verrà inviato al file build.prop quando la ROM sarà compilata. Il file buildinfo.sh potrebbe apparire così:



Ricordate che tutto ciò che cambierete qui, sarà copiato sul build.prop al momento della compilazione della ROM e avrà effetti sul dispositivo. In fondo all’articolo vi lasceremo un file .rar da estrarre dove troverete un file .txt dal quale potrete copiare e incollare i comandi per apportare modifiche e migliorie del build prop.

Anche questa volta, per aiutare tutti quelli che decideranno di seguire la guida, vi lasceremo un archivio rar da estrarre dove però troverete un file .doc (potete aprirlo con word, openoffice, libreoffice) al fine di essere ancora più chiari con le spiegazioni.

Ci tengo a ringraziare moltissimo @Giuskiller995 per la splendida idea e tutto il lavoro che sta facendo. Proprio per questo, non posso fare a meno di consigliarvi assolutamente di seguirlo, ma per comodità vi lascio uno dei suoi articoli più belli a QUESTO link.

Ebbene questo è tutto per quanto riguarda il nostro secondo episodio! I prossimi step, se ci seguirete in tanti, saranno ancora più interessanti, ma non vogliamo spoilerarvi nulla stavolta! Vi ringraziamo per averci seguito e per aver apprezzato la nostra prima guida, speriamo che anche questa possa essere ugualmente interessante per voi! Alla prossima.
A presto Mi Fans!
Comandi modifiche Build Prop.rar (1.11 KB, Downloads: 0)
File elenco percorsi e comandi per la modifica delle informazioni sulla ROM.rar (7.4 KB, Downloads: 1)
2020-11-15 05:29:12
Favorites15 RateRate

Mi Blogger

Viktor Koca | from app

#1

Ottimo articolo, più diretto e focalizzato se confrontato al precedente ma la qualità si sente sempre. ❤️
2020-11-15 06:16:51

Mi Blogger

Mattia Mingardi Author | from app

#2

Viktor Koca
Ottimo articolo, più diretto e focalizzato se confrontato al precedente ma la qualità si sente sempre. ❤️

Grazie mille Vik, abbiamo cercato di stare un po' più stretti per non annoiare troppo, comunque il thread è venuto piuttosto lungo😜💪🏽❤️
2020-11-15 06:17:57

Mi Blogger

Giuskiller995 | from app

#3

quoteurl=home.php?mod=space&uid=1783040778Viktor Koca/url
Ottimo articolo, più diretto e focalizzato se confrontato al precedente ma la qualità si sente sempre. ❤️/quote

Si. Diciamo che la guida era stilata in un certo modo perché non sapevamo se avrebbe avuto effettivamente seguito o meno, si tratta comunque di argomenti ostici. Tuttavia entrambi speravamo, ma non ci aspettavamo assolutamente, tutto il seguito  e l'interesse che abbiamo avuto con il primo episodio (Ringraziamo tutti ❤️). E avendo visto che comunque in tanti ci hanno seguito e ci hanno dimostrato il loro apprezzamento abbiamo deciso di limare un po' il testo, migliorarlo e per quanto possibile, cercare di rendere le cose ancora più semplici. Siamo colpiti da tutto il calore e l'affetto che stiamo ricevendo e siamo orgogliosi di contribuire alla Community con post importanti. Grazie Vik ❤️
2020-11-15 08:40:24

Rookie Bunny

Bee careful | from app

#4

Condividi questo articolo
2020-11-16 20:33:32
Difficile davvero. Proverò a fare.
2020-11-17 01:21:38

Mi Blogger

Mattia Mingardi Author | from app

#6

Roberto Strani
Difficile davvero. Proverò a fare.

Mi raccomando vatti a leggere anche la prima parte! E soprattutto, fallo solo se te la senti!
2020-11-17 01:23:00
Davvero interessante
2020-11-18 14:32:29

Mi Blogger

Giuskiller995 | from app

#8

Odysseos
Davvero interessante

Ti ringraziamo!
2020-11-23 18:54:39

Master Bunny

Andreas79 | from app

#9

👍🏻
2020-11-30 13:54:27
please sign in to reply.
Sign In Sign Up

Mattia Mingardi

Mi Blogger

  • Followers

    248

  • Threads

    54

  • Replies

    833

  • Points

    2865

3 Days Check-In
Newbie Member
MIBAND4
300K
1 milione

Read moreGet new

Mi Comm APP

Stay updated on Mi Products and MIUI

Copyright©2010-2020 Xiaomi.com, All Rights Reserved
Quick Reply To Top Return to the list