= Buildung for the emulator = == General == The lunch combo is '''full_x86-eng''' basic make command {{{ cd /system export PATH=$(java-config -O)/bin:$PATH . build/envsetup.sh lunch full_x86-eng nice -n 19 make -j6 }}} == Running in emulator == {{{ emulator64-x86 -partition-size 300 }}} == Complete rebuild of system == To completely rebuild the system but keep the common stuff do: {{{ make installclean && make -j6 }}} == Rebuilding framework == To rebuild only a certain module and update the system image run {{{ mmm framework/base make snod }}} or {{{ make framework snod }}} but the resulting system image will not boot but boot-loop with messages like: {{{ I/dalvikvm( 1011): DexOpt: mismatch dep signature for '/system/framework/framework.odex' E/dalvikvm( 1011): /system/framework/telephony-common.jar odex has stale dependencies }}} To avoid this one has to turn of the DEXPREOPT variable (see below). === Turn of DEXPREOPT === There are 2 ways. Either edit build/target/board/generic_x86/BoardConfig.mk and change {{{ WITH_DEXPREOPT := true }}} to {{{ WITH_DEXPREOPT := false }}} or run the make commands with the WITH_DEXPREOPT=false addition. like {{{ make framework showcommands WITH_DEXPREOPT=false }}} === Changing framework without rebuilding system === To change the framework of a running system you can do: {{{ adb shell stop adb remount adb push out/target/product/generic_x86/system/framework/framework.jar /system/framework/ adb sync adb shell start }}}