Dalvik Technical Information. Welcome to the Android technical documentation section of the site.
Here you can find technical information useful to people and organizations who are looking to modify, contribute to, or port the Android software. This is "under the hood" information intended for engineers. Accessory Protocol Information Android devices can connect to hardware accessories, such as audio docks, keyboards and custom hardware, through USB or Bluetooth. Bytecode for the Dalvik VM. Call the indicated method.
The result (if any) may be stored with an appropriate move-result* variant as the immediately subsequent instruction. invoke-virtual is used to invoke a normal virtual method (a method that is not private, static, or final, and is also not a constructor). invoke-super is used to invoke the closest superclass's virtual method (as opposed to the one with the same method_id in the calling class). The same method restrictions hold as for invoke-virtual. invoke-direct is used to invoke a non-static direct method (that is, an instance method that is by its nature non-overridable, namely either a private instance method or a constructor).
Dalvik opcodes. Vx values in the table denote a Dalvik register.
Depending on the instruction, 16, 256 or 64k registers can be accessed. Operations on long and double values use two registers, e.g. a double value addressed in the V0 register occupies the V0 and V1 registers.