Bl@ckJ@ck4IT Pubblicato: 10 Febbraio 2012 Segnalazione Share Pubblicato: 10 Febbraio 2012 (modificato) NITDROID WANTS YOU! Entra nella squadra di sviluppo! Di seguito la mia guida alla compilazione di Nitdroid, Gingerbread e Ice Cream Sandwich, su Ubuntu 11.10 64 Bit! Per errori e suggerimenti contattatemi e la aggiornerò il prima possibile ***Iniziamo con le impostazioni di base*** 1a) Aprite un terminale come utente root 2a) add-apt-repository "deb http://archive.canonical.com/ lucid partner" 3a) add-apt-repository "ppa:ferramroberto/java" (thanks to mornage for hint) 4a) apt-get update 5a) apt-get install sun-java6-jdk 6a) apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev libreadline-gplv2-dev lib32z-dev lib32readline-gplv2-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils 7a) create un file /etc/udev/rules.d/51-android.rules, e incollatevi questo contenuto: # adb protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>" # fastboot protocol on passion (Nexus One) SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>" # adb protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>" # fastboot protocol on crespo/crespo4g (Nexus S) SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>" ***Ora passiamo all'ambiente di compilazione di Nitdroid*** 1b) Aprite un Terminale come utente root 2b) mkdir ~/bin 3b) PATH=~/bin:$PATH 4b) curl https://dl-ssl.googl...e/git-repo/repo > ~/bin/repo 5b) chmod a+x ~/bin/repo 6b) cd /home/<username>/Documents (replace <username> with your Ubuntu username) 7b) mkdir nitdroid 8b) cd nitdroid A questo punto la mia guida si divide in due parti (una per Gingerbread e una per Ice Cream Sandwich, quest'ultima indicata cone highly experimental) N.B. Fino a quando Imagination Technologies non aggiornerà le librerie relative al nostro chip video, il SGX530 rev.121, per Ice Cream Sandwich, sarà impossibile avere un N14 usabile a causa della mancanza dell'accelerazione hardware dell'interfaccia grafica e dei giochi. ***Passi da seguire per compilare Gingerbread*** 1c) repo init -u git://gitorious.org/android-n900/nitdroid_platform_manifest.git -b gingerbread 2c) repo sync 3c) source build/envsetup.sh 4c) lunch n900-userdebug 5c) gedit frameworks/base/libs/utils/Android.mk e sostituite: LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) con: LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive 6c) gedit build/core/combo/HOST_linux-x86.mk e sostituite: HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 con: HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 7c) mv /hardware/alsa_sound/Android.mk /hardware/alsa_sound/Android.mkbk ***Passi da seguire per compilare Ice Cream Sandwich*** 1c) repo init -u git://gitorious.org/android-n900/nitdroid_platform_manifest.git -b ics 2c) repo sync 3c) source build/envsetup.sh 4c) lunch full-userdebug (questa parte è ancora in fase sperimentale, non sono certo che produrrà lo stesso n14_dev_snapshot di e-yes) 5c) gedit frameworks/base/libs/utils/Android.mk e sostituite: LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) con: LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive 6c) gedit build/core/combo/HOST_linux-x86.mk and replace HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 with HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 7c) gedit external/mesa3d/src/glsl/linker.cpp e aggiungete questo: #include <stddef.h> dopo gli altri #include 8c) gedit external/oprofile/libpp/format_output.h e cancellate alla linea 94 solo la parola "mutable" 9c) gedit external/gtest/include/gtest/internal/gtest-param-util.h e aggiungete questo: #include <cstddef> dopo gli altri #include 10c) gedit external/llvm/lib/Support/Android.mk e aggiungete le seguenti righe: LOCAL_C_INCLUDES += system/core/include/cutils LOCAL_SHARED_LIBRARIES := libcutil nella sezione "for the host" e nella sezione "for the device" 11c) gedit external/llvm/lib/Support/Mutex.cpp e aggiuntete questo: #include <threads.h> dopo gli altri #include 12c) gedit external/llvm/llvm-host-build.mk e aggiungete: LOCAL_LDLIBS := -lpthread -ldl 13c) gedit external/llvm/lib/Support/Threading.cpp e aggiuntete questo: #include <threads.h> dopo gli altri #include 14c) gedit frameworks/compile/slang/Android.mk e sostituite: local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter -Werror con: local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter 15c) gedit build/core/combo/javac.mk e sostituite: COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -Xmaxerrs 9999999 con: COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999 16c) gedit libcore/luni/src/main/java/java/lang/Enum.java e sostituite: return ordinal - o.ordinal con: return ordinal - o.ordinal (); 17c) gedit external/gtest/include/gtest/internal/gtest-param-util.h e aggiungete questo: #include <cstddef> dopo gli altri #include ***I prossimi passi sono comuni sia a Gingerbread sia a Ics e devono essere svolti solo DOPO aver completato i passi precedenti della mia guida*** 1d) make -j 3 (ci vorrà molto tempo per compilare tutto) 2d) Installate Eclipse Classic da qui: http://www.eclipse.org/downloads/ 3d) Aprite Eclipse, scegliete il vostro workspace e andate su "Help" -> Install New Software 4d) Cliccate su Add in alto a destra 5d) Nel campo Add Repository scrivete "ADT Plugin" nel campo "Name" e questo URL nel campo "Location": https://dl-ssl.googl...ndroid/eclipse/ quindi cliccate su OK 6d) Quando sparisce il testo "Pending" selezionate la checkbox dei Developer Tools e cliccate "Next" (se vi domanda se installare software non firmati ignorate l'avviso e confermate) 7d) Nella prossima schermata premete Next 8d) Accettate tutte le Licence Agreements e cliccate su Finish 9d) Riavviate Eclipse. 10d) Quando Eclipse si sarà riaperto vi chiederà di scaricare una versione dell'Android SDK necessaria al plugin ADT. Scegliete l'ultima versione disponibile, non la 2.1 11d) Per poter usare il comando adb ovunque voi siate nel terminale aggiungete la seguente riga ai files ~/.bashrc o ~/.profile o ~/.bash_profile: export PATH=${PATH}:/home/<yourubuntuusername>/android-sdks/tools:/home/<yourubuntuusername>/android-sdks/platform-tools 12d) Accendete l'N900 e entrate in Nitdroid 13d) Connettete l'N900 con il cavo USB al vostro PC 14d) Controllate che l'N900 sia riconosciuto da adb tramite il comando “adb devices” da terminale...dovrebbe rispondervi: 0123456789ABCDEF device 15d) Fate i cambiamenti che volete al codice sorgente 16d) Per applicarli alla distribuzione di Nitdroid fate "make -j 3" e attendete che finisca 17d) Sempre da terminale fate "adb -p ~/nitdroid/out/target/product/n900 sync" 18d) Riavviate il vostro N900 Ogni volta che vorrete lavorare sui files di Nitdroid dovrete seguire solo i passi dal 12d al 18d Suggerimento1: Se il Terminale vi dice “adb: command not found” non avete installato correttamente l'Android SDK, seguite attentamente i passi dal 2d al 11d Se il comando "adb devices" non trova il vostro N900 provate a killare l'adb server e a farlo ripartire tramite i seguenti comandi: adb kill-server and adb start-server, su suggerimento di vakkov Suggerimento2 (testato solo su Gingerbread): Se vi da errori riguardanti un file chiamato libcamera.so copiate il file dall'allegato del Thread (preso dal mio Nitdroid 2.3.7) nella cartella out/target/product/n900/system/lib e riprovate a fare "make -j 3" again, su suggerimento di vakkov I crediti di questa guida vanno a: e-yes, ammyt, Google (come preparare l'android build environment), CyanogenMod, blackjack4it, XeonDead, jdm13,vakkov,xda-developers e tutti i developers del progetto Nitdroid. Se mi sono dimenticato qualcuno ditemelo pure e lo aggiungerò ai crediti. libcamera.zip Modificato 6 Aprile 2012 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 6 Aprile 2012 Autore Segnalazione Share Pubblicato: 6 Aprile 2012 Guida aggiornata, rimossa l'installazione manuale dell'Android SDK in favore di una installazione automatica tramite Eclipse chiedo cortesemente agli amministratori di correggere il titolo..."Sincronizzazrlo" è inguardabile e se possibile, di stickare questo Thread grazie e buon lavoro EDIT: Guida nuovamente aggiornata, ho separato i passi necessari alla compilazione di Gingerbread e Ice Cream Sandwich per evitare confusione Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora