[Thunderbolt Android Development] Zarboz:
sent from my EVO 3D Ok for the purpose of being able to use this write up you are going to need at minimum:

Knowledge of command line functions

Knowledge of smali baksmali

Knowledge of adb

A computer that supports and has:

adb

java SDK

smali baksmali

7zip

Ok the purpose of the write up is the achieve having "3D homescreen" checkbox "show" in settings or be marked "visible" I did this the lazy way and pulled an already edited smali that will work on ANY GINGERBREAD DEVICE

So here is usually how i setup my workspace

/adb has its own space to work in

/smali

Ok so obviously the files we wanna edit are within the settings.apk

so for this we will need the aforementioned edited .smali from classes.dex

How to extract this smali is enclosed in the following few sentences. (located settings.apk/classes.dex) Install 7zip and right click the Settings.apk...unzip it....you will find a classes.dex. I prefer to be organized when doing work like this so i've enclosed methods i use to keep things clean. this classes.dex file, you will need this file to edit to show "3D homescreen" Visible

as you noticed earlier i have an in and out folder in my workspace

so i do this in my IN folder

so when you unzip settings.apk youll be left with

meta-infa

assets

res

androidmanifest.xml

classes.x (thats the only important part)

resources.arc

thats it

so pop open your terminal lets dissasemble the modified classes.dex file to get you that .smali file that is so important.

since i make a "workspace" folder to do this stuff in

i would open terminal

cd workspace

java -jar baksmali-1.2.6.jar in/modded/classes.dex -o out/modded

^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^^^

command jar to use path to classes output output location

so now lets go back to our handy dandy "workspace" folder

navigate to

workspace/out/modded/com/android/settings/framework/flag/feature/HtcDisplayFeatureFlags.smali

this is the magic file

you want this file it tells settings apk "that the phone is 3d capable please show that option in settings"

ok awesome well now i have my magic .smali file pulled out now all i need to do is put it back into an unmodified settings.apk to enable the 3d

so take your UNMODIFIED settings.apk and place it into your "in" folder

*show pic if in folder 2*

repeat the steps to get classes.dex accessible

the grab terminal

cd workspace

java -jar baksmali-1.2.6.jar in/new/classes.dex -o out/new

then go back to workspace/out/new/com/android/settings/framework/flag/feature/

and put the HtcDisplayFeatureFlags.smali we got from the modded apk earlier

into this folder replacing the old one (now 3d will show in settings)

ok so now that we've got all this modding done we gotta put all those smali files back together in a way android likes

so grab your terminal

cd workspace

java -jar smali-1.2.6.jar out/new/ -o classes.dex

you'll find your new shiny modified classes.dex in the root of your workspace folder

all you do now is open your untouched settings.apk with 7zip and drag the MODIFIED classes.dex to that apk to replace the old one... let 7zip finish zipping it up

great now you wanna test this modified bad boy but you dont wanna flash anything

so we're gunna copy our modified settings.apk from workspace to wherever ADB is at

then run these terminal commands from your adb root folder these are case sensitive commands

adb shell rm -r /system/app/Settings.apk

adb push Settings.apk /system/app

adb shell sync

adb reboot

after the phone reboots check your settings to see if you succussfully modded it

i really dont feel like putting more thought into this right now if you have questions highlight or bold the peices that dont make sense i will edit and re issue to you ... hope you enoi