CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 15
Discussione:

[GUIDA] TIPS di modding avanzato

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Località
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Arrow

    [GUIDA] TIPS di modding avanzato

    un grazie enorme ad angelom per le dritte che mi ha dato e per le cose che mi ha insegnato riguardanti il modding!


    Requisiti:
    --->SDK android Android SDK | Android Developers
    --->JDK Java Development Kit Java SE Downloads
    --->File allegati a fine post
    ---> conoscere i comandi basilari del terminale/prompt
    Modifica di base di una ROM

    Per modificare una ROM in modo abbastanza basilare non c’e’ bisogno di molto sforzo, basta scompattare il file zip e inserire all’interno i file dello script scaricato.
    Per esempio prendiamo in considerazione una ROM AOSP e lo script DATA2WHATEVER:

    struttura della ROM
    --cartella principale
    -----boot.img
    -----META-INF
    -----system
    --------app
    --------bin
    --------lib
    --------etc
    -----------init.d

    E altre carelle in /system ma queste sono quelle che ci interessano nell’esempio
    Struttura dello script

    Cartella principale
    ----META-INF
    ----system
    ----bin
    -------e2fsck
    -------tune2fs
    ----etc
    -------init.local
    -------init.d
    -----------01data2whatever
    -----------98zipalign
    ----data_internal
    ----data2whatever_firstboot

    La cartella META-INF serve per “dire” alla recovery cosa deve fare del pacchetto quindi lasciatela com’e’!

    Ora dovrete effettuare manualmente quello che la recovery farebbe durante il flash dello zip, ossia copiare i file delo script nell’identica cartella all’interno della ROM e se non e’ presente dovete crearla o copiarla all’interno della ROM nella stessa posizione, quindi:

    prendete i file “e2fsck” e “tune2fs” dello script e copiateli nella cartella “/system/bin” della rom, sostituendo quelli presenti
    copiate il file “init.local” dello script in “/system/etc qui pero’ non dovrete sostituire nulla, va solo aggiunto

    prendete i 2 file “01data2whatever” e “98zipalign” dello script e copiateli in /system/etc/init.d, dopodoche’ eliminate i 2 file “cachedalvikcache” e “40app2sd”

    copiate la cartella “data_internal” e il file “data2whatever_firstboot” in /system

    bene avete finito!
    Ora dovete rizippare la ROM quindi aprite winrar o un qualsiasi altro programma per archivi e zippate la ROM ma attenzione, questa deve essere la struttura finale:

    struttura corretta:

    ROM.zip
    ---boot.img
    ---META-INF
    ---system

    Struttura errata
    ROM.zip
    ---ROM
    ------boot.img
    ------META-INF
    ------system

    Una volta fatto questo se volete potete gia’ flasharla, ma dovete disabilitare la verifica della signature in recovery, oppure potete signare il vostro zip (descritto in seguito)

    Creare uno zip di un’applicazione flashabile da recovery

    -procuratevi l’apk

    Quindi:

    create una cartella con la seguente struttura:

    cartella principale
    --META-INF
    -----com
    --------google
    -----------android
    --system
    -----app

    In “app” mettete il file .apk dell’applicazione

    Ora dovete “dire” alla recovery cosa fare quindi dovete creare un file con i comandi:
    scaricate un programma come notepad++
    inserite questi comandi(validi solo per gli zip delle app non per le ROM):



    codice:
    mount("MTD", "system", "/system");
    
    show_progress(0.500000, 2);
    package_extract_dir("system", "/system");
    show_progress(0.200000, 0);
    unmount("/system");
    salvate il file con il nome “updater-script” senza dare nessuna estensione al file!!!

    Mettetelo nella cartella META-INF/com/google/android

    Ora zippate il file con questa struttura:

    struttura corretta:

    app.zip
    ---META-INF
    ---system

    Struttura errata

    app.zip
    ---app
    ------boot.img
    ------META-INF
    ------system


    (nello zip allegato trovate anche l'intera cartella META-INF pronta con i relativi file)


    Come modificare un’ .apk (applicazione):

    -rinominate il file togliendo l’estensione .apk e mettete l’estensione .zip
    -scompattate l’archivio con un normale programma di gestione archivi
    -effettuate le modifiche desiderate (per esempio sostituire le icone)
    -una volta finito ricompattate il file e fate la procedura inversa, ossia rimuovete l’estenzione.zip e rimettete l’estenzione .apk

    come signare l’app.apk

    -procuratevi e installate l’SDK di android e il JDK (java development kit)
    -estraete l’SDK sul desktop e instalate il JDK


    dopo aver effettuato le modifiche desiderate dovrete signare l’apk prima di inserirlo nello zip flashabile (anch’esso da signare) oppure prima di poterlo installare, poiche’ android accetta solo app certificate (signed)

    quindi si procede in questo modo:

    nell’archivio allegato e’ presente il file SignApk.rar, scompattatelo dove volete e procedete come segue:

    aprite il terminale e digitate:

    codice:
    cd directory che preferite(per esempio C:/Users/…./desktop)
    codice:
    java -jar signapk.jar certificate.pem key.pk8 app.apk app-signed.apk
    sostituite a “signapk.jar” la directory in cui si trova signapk.jar
    per esempio :
    codice:
    C:/Users/…./desktop/signapk/signapk.jar
    sostituite a “app.apk” la directory in cui si trova l’apk modificato
    per esempio:
    codice:
    C:/Users/…./desktop/app.apk
    mentre per "app-signed.apk" dovrete solo riscrivere il nome del file .apk accompagnato dalla dicitura “signed” per riconoscerlo

    verra’ creata una copia del file signata nella directory che avete scelto all’inizio con “cd” ,e quindi pronta all’installazione o ad essere aggiunta ad uno zip flashabile!



    Sign per flash da recovery di apk.zip e ROM.zip


    Bene ora bisogna signare il file per fare in modo che la recovery lo riconosca come certificato quindi

    -scompattate testsign.zip in SDK/tools (vovrebbe crearvi la cartella sign con all’interno testsign.jar

    Bene ora aprite il terminale e digitate

    Per cambiare directory , per esempio desktop:

    codice:
    cd C:/Users/……/desktop
    ora signamo il file con:

    codice:
    java -classpath <SDK>/tools/sign/testsign.ja testsign file1.zip file1-signed.zip
    dovrete sostituire “<SDK>/tools/sign/testsign.jar” con la directory in cui e’ posizionato il file testsign.jar , per esempio:

    codice:
    C:/Users/……./desktop/SDK/tools/sign/testsign.jar
    Dovete sostituire “file1.zip” con la directory in cui e’ posizionato il vostro file zippato della ROM o dell’app che volete flashare:
    per esempio: C:/Users/Utente/desktop/ROM.zip

    sostituite poi “file1-signed.zip”, non con una directory’ questa volta ma semplicemente con il nome della ROM, in questo caso , siccome il nostro file e’ ROM.zip, scriveremo semplicemente ROM-signed.zip


    ricapitolando dovrete avere una cosa simile:

    codice:
    java –classpath C:/Users/……/desktop/SDK/tools/sign/testsign.jar testsign C:/Users/…../desktop/ROM.zip ROM-signed.zip
    premete invio e avete finito!! Sul desktop vi ritroverete il vostro file zip con la dicitura “signed” quindi potete flashare o installare la vostra app o rom che sia!
    File allegati
    Ultima modifica di cesco; 14-01-11 alle 11:46
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  2. I seguenti 6 Utenti hanno ringraziato cesco per il post:

    angel64 (17-01-11),Bologna (03-11-11),Dron3 (17-05-11),enricoandreoli (17-04-11),marcofoschi (10-02-11),Tsuneku (13-01-11)

  3.  
  4. #2
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Località
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    ------------riservato per uso futuro------------
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  5. #3
    Androidiano VIP L'avatar di RoBy46


    Registrato dal
    May 2010
    Località
    :: Piacenza ::
    Messaggi
    1,653

    Ringraziamenti
    74
    Ringraziato 75 volte in 70 Posts
    Predefinito

    Ciao, io quando modifico le applicazioni e il framework uso questi comandi nello script:

    codice:
    copy_dir PACKAGE:system/framework SYSTEM:framework 
    copy_dir PACKAGE:system/app  SYSTEM:app
    non hanno mai sbagliato un colpo, comunque ottimo 3D, mi cimenterò...

    EDIT: ovviamente bisogna creare anche la cartella framework in system.

  6. #4
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Località
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    Quote Originariamente inviato da RoBy46 Visualizza il messaggio
    Ciao, io quando modifico le applicazioni e il framework uso questi comandi nello script:

    codice:
    copy_dir PACKAGE:system/framework SYSTEM:framework 
    copy_dir PACKAGE:system/app  SYSTEM:app
    non hanno mai sbagliato un colpo, comunque ottimo 3D, mi cimenterò...

    EDIT: ovviamente bisogna creare anche la cartella framework in system.
    codice:
    mount("MTD", "system", "/system");
    
    show_progress(0.500000, 2);
    package_extract_dir("system", "/system");
    show_progress(0.200000, 0);
    unmount("/system");
    questo invece non fa altro che aggiungere i file nelle rispettive cartelle /system, almeno a quello che ho capito, va bene per le aggiunte, ma non per il flash della rom (ovvio direi)
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  7. #5
    Androidiano VIP L'avatar di RoBy46


    Registrato dal
    May 2010
    Località
    :: Piacenza ::
    Messaggi
    1,653

    Ringraziamenti
    74
    Ringraziato 75 volte in 70 Posts
    Predefinito

    Quindi, qualsiasi cosa lui trova in system, (ovviamente se messo nelle giuste dir) lui lo copia di conseguenza??

    Ottimo direi, si evita di scrive altri indirizzi.

  8. #6
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Località
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    Quote Originariamente inviato da RoBy46 Visualizza il messaggio
    Quindi, qualsiasi cosa lui trova in system, (ovviamente se messo nelle giuste dir) lui lo copia di conseguenza??

    Ottimo direi, si evita di scrive altri indirizzi.
    credo di si, almeno a quello he ho capito!! bisogna chiedere conferma ad angelom! e' lui il guru!
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  9. #7
    Androidiano VIP L'avatar di RoBy46


    Registrato dal
    May 2010
    Località
    :: Piacenza ::
    Messaggi
    1,653

    Ringraziamenti
    74
    Ringraziato 75 volte in 70 Posts
    Predefinito

    Bisognerebbe mettere il sistema operativo che si usa.

    Comunque io per signare gli apk, quando ne ho una decina, li metto nello zip e li senga tuttiin automatico.

    Io ho un sign apk preso da un forum dove un utente ha fatto un file di .bat con all'interno i comandi:
    codice:
    java -jar signapk.jar testkey.x509.pem testkey.pk8 1.zip 2.zip
    Tu metti lo zip nominato 1.zip nella cartella signapk, togli i 3 file dentro META-INF, vale adire:
    -CERT.RSA
    -CERT.SF
    -MANIFEST.MF
    poi avvii il file di bat e lui parte in automatico con terminale e ti crea il 2.zip signato.
    Questo sotto windows.
    Allego in caso servisse.

    Un piccolo video:
    File allegati
    Ultima modifica di RoBy46; 14-01-11 alle 13:52

  10. #8
    Androidiano VIP L'avatar di RoBy46


    Registrato dal
    May 2010
    Località
    :: Piacenza ::
    Messaggi
    1,653

    Ringraziamenti
    74
    Ringraziato 75 volte in 70 Posts
    Predefinito

    Chi è che sa l'inglese molto bene e ha la voglia di tradurre questo:
    [TUTORIAL] Where to find the colors for making a theme - xda-developers

    Farebbe cosa gradita, io mi ci perdo via non essendo padrone della lingua, anche usando google translator.

  11. #9
    Androidiano VIP L'avatar di RoBy46


    Registrato dal
    May 2010
    Località
    :: Piacenza ::
    Messaggi
    1,653

    Ringraziamenti
    74
    Ringraziato 75 volte in 70 Posts
    Predefinito

    Ciao a tutti, allora, posto qui, perchè non sò dove postare questa richiesta consiglio.

    Ho messo l'immagine delle icone:
    -wifi
    -segnale
    -rete
    Che si trovano dentro al systemUI.apk, come vedete prima le immagini erano:

    -signal1
    -signal2
    -signal3
    ecc ecc...
    ora sono:
    -signal1
    -signal1 fully
    -signal2
    -signal2 fully

    In poche parole si sono aggiunte le fully, che a dire il vero non sò propio cosa siano, infatti, sia la rete che segnale e wifi, a volte seono bianche e poi verdi.

    Visto che voglio rifare le icone, sapete dirmi le differenze??


  12. #10
    Senior Droid L'avatar di newandroid


    Registrato dal
    Nov 2010
    Messaggi
    344

    Ringraziamenti
    7
    Ringraziato 24 volte in 23 Posts
    Question

    C'è un modo per poter estrarre alcuni widget da una rom (ad esempio quella stock o della insercoin) e renderli funzionanti nella cyano 7 rc?

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy