[Motorola Droid Android Development] metalspring:
ok, from my android tweaking and playing around with all kinds of settings and other things i know it can be somewhat hard to find everything you might need to make the most of your android device so i will put links to them here along with providing support and my own little discoveries here...if anyone knows anything else that is cool or useful just post it and i'll update this post (btw these are tested on droid 1 only but many may apply to most android devices)

*Anyone who knows of any other tweaks/mods/scripts/useful terminal commands please feel free to post and i'll add it here (after testing it if possible)*

***disclaimer- I am not responsible for any damage you may do to your device, please make sure to have a backup before doing any of these tweaks***

first off how about a simple rooting/returning to stock guide?

quick root guide

1)download these files

http://www.motorola.com/staticfiles/Support/Experiences/Global_Drivers/MotoHelper_2.0.40_Driver_4.9.0.exe

http://wonderly.com/bb/DROID/OEM/rsdlite_5.0.msi

http://wonderly.com/bb/DROID/OEM/VZW_A855_QSC6085BP_RZRECOVERY_UPDATE.sbf

http://wonderly.com/bb/DROID/OEM/update.zip

2)install the first 2 links in order

3)connect your phone via usb to your computer and copy the update.zip you downloaded to your sdcard

4)reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok

5)open rsd lite and see if it recognizes your phone (basically any entry in the model column) and slide your phone keyboard open

6) click the ... near the start button and navigate and select the VZW_A855_QSC6085BP_RZRECOVERY_UPDATE.sbf file

7)click start and WATCH FOR "Phone[0000]: Phone is being rebooted" On your phone the screen will change to "SW Update Complete" and your phone will reboot within a second or two. You want to be already holding the x button on your keyboard to boot into recovery mode when the phone actually reboots so the stock OS doesnt erase the new recovery you just flashed

8) using the volume keys to move through the menu, the camera button to select and the power button to go back, go to install and select the update.zip you put on your sdcard earlier and select install update.zip

9) then select "reboot into android" and enjoy the benefits of being rooted

return to stock

1)download these files

http://www.motorola.com/staticfiles...al_Drivers/MotoHelper_2.0.40_Driver_4.9.0.exe

http://wonderly.com/bb/DROID/OEM/rsdlite_5.0.msi

http://wonderly.com/bb/DROID/OEM/VZW_A855_FRG22D_QSC6085BP_C_01.43.01P_SW_UPDATE.sbf

2)install the first 2 files

3)reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok

4)connect your phone via usb to your computer and reboot your phone and hold power + vloume up + the camera button until you see the screen that says bootloader battery ok

5)open rsd lite and see if it recognizes your phone (basically any entry in the model column)

here are are some useful build.prop tweaks I've encountered along the way, just put the line into the build.prop or modify it if its already in there, save, wipe dalvik cache and reboot

6) click the ... near the start button and navigate and select the VZW_A855_FRG22D_QSC6085BP_C_01.43.01P_SW_UPDATE.sb f you downloaded earlier

7)click start and let it run and reboot automatically (it should work even if rsd lite says the result was fail)

8) you are now on stock unrooted froyo

FRG22D

(optional) 9) go to settings > about phone> check for updates and allow system updates to download and install (allows for a super clean setup if you are planning to re-root)

for possibly better scrolling speed, can be set to any number from 35-300:

# This defines the max event window manager can

# handle in 1 s. We may adjust this # for performance

# reason later

windowsmgr.max_events_per_sec=

change lcd density

(already in build.prop), which is like changing the resolution on a windows computer can be anywhere from 140 to 260 (under 200 not recommended because everything may be too small for the phone to be usable:

ro.sf.lcd_density=

dalvik cache virtual memory size

(already in build.prop)...can also help performance. set anywhere from 24m to 64m based on how complex your setup is. i.e. tons of apps, in depth theme, memory intensive apps, etc.

dalvik.vm.heapsize=

incoming ringer delay

(already in build.prop) sets how soon the phone starts ringing when a call comes in. set between 0 and 2000

ro.telephony.call_ring.delay=

proximity delay

. sets how long before screen turns off during call. set between 0 and 600

# Proximit sensor screen off delay

mot.proximity.delay=

tcp stack- optimizes data performance

net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960

net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960

net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960

net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960

net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960

enable hardware acceleration

# Render UI through GPU instead of CPU

# Comment out if this causes laggy UI (it should speed up UI)

debug.sf.hw=1

s

leep mode for battery savings

. 0 means power collapse suspend, 1 is power collapse (usually the best choice), 2 is apps go to sleep, 3 is show clock and wait, 4 is wait for interrupt...not sure which each one does or is good for, just know about this little tweak lol

# Battery Savings (Sleep Mode)

pm.sleep_mode=

more battery savings

# When moving through zones or losing signal, having a delay

# smooths out constant disconnects and reconnects, which in turn

# saves a ton of battery life!

ro.mot.eri.losalert.delay=1000

disable sending usage data

ro.config.nocheckin=1

wifi scan interval

(already in build.prop) can save battery as well. set from 15 to 999

# Time between scans in seconds. Keep it high to minimize battery drain.

# This only affects the case in which there are remembered access points,

# but none are in range.

wifi.supplicant_scan_interval=

ok, now for some useful links (all credit goes to the creators of these cool tweaks/apps/programs

v6 supercharger by zepplinrox - http://xdaforums.com/showpost.php?p=18703418&postcount=5021

Deodex/odex tweak by Nibras, Reeza & Danzano (thanks to BrUhNiGGs for finding this) - http://www.droidforums.net/forum/steel-droid/200388-ram-tweak-free-up-more-ram-make-apps-load-faster.html

setcpu for free (legitimately legal lol) - http://xdaforums.com/showthread.php?t=505419

wifi tethering app Downloads - http://code.google.com/p/android-wifi-tether/downloads/list

wired tethering app Downloads - http://code.google.com/p/android-wired-tether/downloads/list

easy install of adb http://www.droidforums.net/forum/chevyno1/162984-your-1-adb-source-7-29-11-a.html

Guide to building a rom from source (credit to chevycam and SnkBitten) - http://www.droidforums.net/forum/steel-droid/196475-guide-how-build-your-own-rom-cm7-source.html

Ok, here's a new section with just general tips, tricks and scripts

Useful terminal emulator scripts run as superuser (su)

*U

sing the debugging logging to report issues

logcat > /mnt/sdcard/logcat.txt

wait 4-5 seconds then hold volume up and press f on the keyboard to stop it

if logcat is disabled then do this instead

dmesg > /mnt/sdcard/dmesg.txt

wait 4-5 seconds then hold volume up and press f on the keyboard to stop it

*Find top CPU/memory using apps

. value after -m is how many apps to show, value after -n is how many times to update (be sure to set this value or it will run endlessly until terminal is closed)

top -m 10 -n 1

*Find md5sum for downloaded files

(checks to ensure proper downloads especially for roms, just compare your result to whatever value the rom developer provides and they should match)

md5sum /mnt/sdcard/(file path on sdcard)

For example

md5sum /mnt/sdcard/download/SD_9.0.0.zip

*Use swap partition without swapper2.

Add this script to the end of any file in the /etc/init.d folder. If you don't have one just run it in terminal emulator each reboot and run it in terminal first since sometimes its mmcblk0p2 instead of mmcblk0p3 depending on where you have the swap partition (or use the app script manager to make it run at boot. Script manager doesn't run continuously like swapper2)

swapon /dev/block/mmcblk0p3

And to turn swap off

swapoff /dev/block/mmcblk0p3

*Setting swappiness

Add or edit this line in the file etc/sysctl.config using whatever value you want, just keep the spaces (open in text editor)

vm.swappiness = 30

Or add this to the end of a script in init.d or run in terminal emulator

sysctl -w vm.swappiness=30

*Loading a module for apps2sdext (link2sd style apps2sd)

Run this in terminal emulator with superuser permission, substituting ext3 for whatever extension you want loaded (keep the .ko though)

insmod /system/lib/modules/ext3.ko

or the simple way

modprobe ext3

*Listing loaded modules

Run this in terminal emulator with superuser permissions

lsmod

*Forcing a hot reboot to clear caches

Run this in terminal emulator with superuser permissions

pkill zygote

*terminal tips

-

Find list of many possible scripts to run

busybox

List sysctl commands

sysct -h

List first or last 10 lines of another scripts output (note | is not lower case L, its a separate character)

First 10-

(script) | head

Last 10

(script) | tail

Example (list first 10 sysctl values)

sysctl -a | head

Finding lines with certain letters/word in another scripts output

(script) | grep (letters/word)

Example (show only sysctl lines with vm in them) (note | is not lower case L, its a separate character)

sysctl -a | grep vm

Don't worry more to come soon

Ok, those are the well tested tweaks, now for a few experimental ones.

Please make sure to have a backup ready to restore since these ARE experimental and may cause your rom not to load

improve peformance?

Add this to the build.prop

#disable the zygote loader

ro.wmt.blcr.enable=0

Fix app issues? (change it to 0 to improve performance)

Add this to build.prop

ro.kernel.android.checkjni=1

Change the I/O scheduler

(effects how your phone reads and writes data)(first line tells you whats available and what you currently have in [ ], then put whichever one you want in the "" after echo, and the last line will confirm the change)

cat /sys/block/*/queue/scheduler
for i in /sys/block/*/queue/scheduler
do
echo "deadline" > $i
done
cat /sys/block/*/queue/scheduler

Increse overall touch resposivness?

Add these to build.prop

debug.performance.tuning=1

video.accelerate.hw=1

ro.min_pointer_dur=8

Raise Photo and video quality?

Add these to build.prop

ro.media.enc.jpeg.quality=100

ro.media.dec.jpeg.memcap=8000000

ro.media.enc.hprof.vid.bps=8000000

change sdcard buffer speed

run in terminal emulator as superuser (su) or put #!/system/bin/sh as first line and put in /system/etc/init.d (you can change the value in the "echo 512 > /sys/devices/virtual/bdi/179:0/read_ahead_kb" line to suit your needs- common values are 256, 512, 1024, 2048, 3072, 4096, 5120, 6144)

for i in /sys/devices/virtual/bdi/*
do
echo 2 > $i/read_ahead_kb
done
echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb
echo 2 > /sys/devices/virtual/bdi/default/read_ahead_kb

or you can try just simply using the simple version

echo 2048 > /sys/devices/virtual/bdi/179:0/read_ahead_kb

Disable boot animation

add to build.prop (use caution after wiping dalvik, it will appear to hang at the M but its usually still booting up all the way)

dev.sfbootcomplete=0

Use dalvik JIT compiler

add to build.prop (Just In Time compiler is much faster)

dalvik.vm.execution-mode=int:jit

Improve performance?

change in build.prop

ro.setupwizard.mode=DISABLED

Rom dependent tweaks

(will only work if these features are included in your rom and most are included in settings anyway, most of the time they are but if not sure then ask the dev) add these to build.prop,

1 is on 0 is off

help to free up unused ram

-

persist.sys.purgeable_assets=

stop usb debugging on notification-

persist.adb.notify=

Force capacitive buttons to stay on while screen is on?-

ro.mot.buttonlight.timeout=

Improve screen quality at the cost of performance-

persist.sys.use.dithering=