Scusate il titolo ma non sono riuscito a scrivere più dettagliatamente. Con questa modifica sarà possibile aggiungere una voce riguardante la versione della propria rom potendola modificare dal build.prop.
In questa guida userò come parola di riferimento "ncyn" ma è possibile mettere qualsiasi cosa
Vi assicuro che è più facile a farsi che a dirsi
Cosa serve:
codice:
-Apktool "installato" e funzionante
-Il file Settings.apk (reperibile da system/app)
-Un editor di testi, consigliatissimo Notepad++ altrimenti non si capirà praticamente niente riguardo alle modifiche da fare
Iniziamo: apriamo il promot dei comandi di Windows e con il comando "cd" ci spostiamo nella cartella contenente Apktool e il file Settings.apk.
Digitiamo:
codice:
apktool d Settings.apk
Una volta decompilato il file, andiamo nella cartella Settings/res/xml.
Apriamo il file device_info_settings.xml, cerchiamo la stringa (si trova sul blocco finale) che comincia così:
codice:
<Preference android:title="@string/mod_version" android:key="mod_version"
Se la rom è una PAC, cerchiamo questo:
codice:
<Preference android:title="@string/cm_version" android:key="cm_version"
Aggiungiamo sopra o sotto (dipende se si vuole avere la propria riga sopra o sotto a Versione CyanogenMod) questa linea
codice:
<Preference android:title="@string/ncyn_version" android:key="ncyn_version" android:summary="@string/ncyn_version_default" style="?android:preferenceInformationStyle" />
Ripeto; al posto di "ncyan" si può scrivere quello che si vuole, basta che sia SEMPRE quello che si scrive DAPPERTUTTO.
Alla fine, nel mio caso, il risultato è questo:
Salviamo e chiudiamo il file.
Adesso andiamo in Settings/res/values e apriamo il file "strings.xml"
Alla fine di tutto (per comodità) prima della riga </resources> scriviamo questo (in inglese e personalizzato)
codice:
<string name="ncyn_version">NextCyan version</string>
<string name="ncyn_version_default">Unknown</string>
Il risultato finale sarà questo:
Salviamo e chiudiamo.
Per la lingua italiana, quest'ultimo passaggio è IDENTICO, quello che cambia è che bisogna andare in values-it anzichè in values e scrivere le stringhe in italiano. Cioè da "NextCyan version" in "Versione NextCyan" e da "Unknown" in "Sconosciuto".
Abbiamo appena aggiunto la voce in "Info sul telefono". Adesso bisogna creare il supporto per la modifica della versione dal build.prop. E qui forse arriva la parte più difficile.
Andiamo in Settings/smali/com/android/settings.
Cerchiamo e apriamo il file DeviceInfoSettings.smali
Adesso facciamo la combinazione Control(nella tastiera è scritto come Ctrl) + F.
Dalla nuova finestra, scriviamo sullo spazio questo: "mod_version" oppure "cm_version" nel caso si trattasse di una PAC.
Se ci sono più risultati (sicuramente sì), cercate quello con le linee più simili a queste:
Una volta arrivati qui, selezioniamo le righe che partono da .line XX a .line XY (.line escluse) dov'era contenuto "mod_version" o "cm_version". Così:
Adesso, con il mouse, clicciamo sopra alle righe con il tasto destro e clicchiamo su copia.
Se in device_info_settings.xml avete aggiunto la riga SOPRA a "Versione CyanogenMod" cliccate su questo spoiler
Altrimenti se avete aggiunto la riga SOTTO apri questo spoiler
Salviamo e chiudiamo il file.
Torniamo alla cartella principale in cui è situato Apktool e diamo il comando:
codice:
apktool b Settings
-Attenzione: Procedura da fare per tutti gli apk files di sistema (framework-res, Settings, SystemUI, SettingsProvider...)-
Con WinRAR/Winzip/7-zip, decomprimiamo il Settings.apk originale in una cartella chiamata Settings-new e la apriamo in una nuova finestra.
Esempio di estrazione con WinRAR:
Torniamo nella cartella Settings in cui ci sono tutte le modifiche e andiamo in build/apk, copiamo tutto il contenuto e lo incolliamo in Settings-new (sostituendo tutto). A dire la verità, in questo caso basterebbe sostituire la cartella res e i files resources.arsc (le cartelle values) e classes.dex (la cartella smali e il suo contenuto).
Comprimiamo TUTTO il contenuto della cartella Settings-new
Infine rinominiamo il file da Settings-new.zip a Settings.apk, adesso possiamo mettere il Settings.apk nella cartella system/app della ROM o del telefono (se mettete l'apk direttamente nel telefono, date i permessi rw-r--r-- e riavviate).
Abbiamo finito!
Ecco la mia stringa nel build.prop:
ed ecco lo screen nel telefono
Crediti:
-Io
-CyanoCID per aver fatto da tester