meta data for this page
  •  

This is an old revision of the document!


dalvik

http://milk.com/kodebase/dalvik-docs-mirror/docs/embedded-vm-control.html

# dalvikvm --help
The following extended options are recognized:
  -Xrunjdwp:<options>
  -Xbootclasspath:bootclasspath
  -Xcheck:tag  (e.g. 'jni')
  -XmsN  (min heap, must be multiple of 1K, >= 1MB)
  -XmxN  (max heap, must be multiple of 1K, >= 2MB)
  -XssN  (stack size, >= 1KB, <= 256KB)
  -Xverify:{none,remote,all}
  -Xrs
  -Xint  (extended to accept ':portable', ':fast' and ':jit')
 
These are unique to Dalvik:
  -Xzygote
  -Xdexopt:{none,verified,all,full}
  -Xnoquithandler
  -Xjnigreflimit:N  (must be multiple of 100, >= 200)
  -Xjniopts:{warnonly,forcecopy}
  -Xjnitrace:substring (eg NativeClass or nativeMethod)
  -Xstacktracefile:<filename>
  -Xgc:[no]precise
  -Xgc:[no]preverify
  -Xgc:[no]postverify
  -Xgc:[no]concurrent
  -Xgc:[no]verifycardtable
  -XX:+DisableExplicitGC
  -X[no]genregmap
  -Xverifyopt:[no]checkmon
  -Xcheckdexsum
  -Xincludeselectedop
  -Xjitop:hexopvalue[-endvalue][,hexopvalue[-endvalue]]*
  -Xincludeselectedmethod
  -Xjitthreshold:decimalvalue
  -Xjitblocking
  -Xjitmethod:signature[,signature]* (eg Ljava/lang/String\;replace)
  -Xjitcheckcg
  -Xjitverbose
  -Xjitprofile
  -Xjitdisableopt
  -Xjitsuspendpoll

Extended JNI Checks

Default RO: ro.kernel.android.checkjni can be overriden by: dalvik.vm.checkjni

setprop dalvik.vm.checkjni true

To pass dalvik.vm.jniopts option as -Xjniopts argument.

setprop dalvik.vm.jniopts forcecopy

Bytecode Verification

setprop dalvik.vm.dexopt-flags v=a,o=v

then the framework will pass -Xverify:all -Xdexopt:verified to the VM. This enables verification, and only optimizes classes that successfully verified.

Map registration

setprop dalvik.vm.dexopt-flags "m=y"

“Map registration = yes”

Stack size

setprop dalvik.vm.extra-opts "-Xss16K"

dalvik.vm.verify-bytecode false dalvik.vm.dexopt-flags “v=n,o=v”

# DISABLE ERROR CHECKING
ro.kernel.android.checkjni=0
 
dalvik.vm.checkjni=false
dalvik.vm.dexopt-data-only=1
dalvik.vm.heapsize=64m
dalvik.vm.verify-bytecode=false
dalvik.vm.lockprof.threshold=250
dalvik.vm.dexopt-flags=m=v,o=y
-Xverify:none -Xdexopt:verified
 
dalvik.vm.stack-trace-file=/data/anr/traces.txt
dalvik.vm.jmiopts=forcecopy
 
#to enable execution of JIT
 
dalvik.vm.execution-mode=int:jit

# MAKES APPS LOAD FASTER AND FREES MORE RAM / use only one of them dalvik.vm.dexopt-flags=v=a,o=v,m=y,u=y dalvik.vm.dexopt-flags m=y,o=v,u=y dalvik.vm.dexopt-flags=m=y

MediaScanner

pm disable com.android.providers.media/com.android.providers.media.MediaScannerReceiver
pm enable com.android.providers.media/com.android.providers.media.MediaScannerReceiver

ADB

add your user to plugdev group:

sudo gpasswd -a username plugdev

http://developer.android.com/tools/device.html

Enable EU Wifi Channels

sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name, value) VALUES ('wifi_country_code', 'EU');"

Change defaul keyboard / IME

adb shell
ime list -a
com.android.inputmethod.latin/.LatinIME:
...
com.jefftharris.passwdsafe/.PasswdSafeIME:
...
ime set com.android.inputmethod.latin/.LatinIME