blob: 74fd815455d65d1d53852f821f71c2d7c0f1e409 [file] [log] [blame]
Hugo Hudson01f8aec2012-01-11 15:29:28 +00001This folder contains the dexmaker library.
2
3The latest version of dexmaker can be found at this url:
4 http://code.google.com/p/dexmaker/
5
Mark Brophy95689a72012-10-12 18:40:08 +01006Version: f54f6eac0c81120f53265b30adf9ce602e8dfc41
Hugo Hudson01f8aec2012-01-11 15:29:28 +00007License: Apache 2.0
8
9Description:
10A Java-language API for doing compile time or runtime code generation targeting the Dalvik VM. Unlike cglib or ASM, this library creates Dalvik .dex files instead of Java .class files.
11
12It has a small, close-to-the-metal API. This API mirrors the Dalvik bytecode specification giving you tight control over the bytecode emitted. Code is generated instruction-by-instruction; you bring your own abstract syntax tree if you need one. And since it uses Dalvik's dx tool as a backend, you get efficient register allocation and regular/wide instruction selection for free.
13
14It includes a stock code generator for class proxies. If you just want to do AOP or class mocking, you don't need to mess around with bytecodes.
15
16Local Modifications:
Ian Parkinsona8ab2992013-03-01 16:44:43 +000017bug-8108255.patch: temporary workaround to ClassLoading issues
18 (see https://code.google.com/p/dexmaker/issues/detail?id=20)
Brian Carlstrom744d6f62013-10-09 13:59:40 -070019bug-10862083.patch: Do not assert that InvocationHandler.invoke args should be non-null
20 (see https://code.google.com/p/dexmaker/issues/detail?id=27)
Ian Parkinsona8ab2992013-03-01 16:44:43 +000021
Ian Parkinson491d3ef2013-10-14 18:05:58 +010022to apply, run 'patch -p0 < bug-xyz.patch' from a fresh src
23to remove, use 'patch -p0 -R < bug-xyz.patch'
24