README revision cbe1ad4109e95d88bce5b6641e83785fe05044ed
1effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochThis folder contains the dexmaker library.
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
3effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochThe latest version of dexmaker can be found at this url:
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    http://code.google.com/p/dexmaker/
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
6effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochVersion: f54f6eac0c81120f53265b30adf9ce602e8dfc41
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)License: Apache 2.0
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
9effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochDescription:
10effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochA 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.
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)It 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.
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)It 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.
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
16effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochLocal Modifications:
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbug-8108255.patch: temporary workaround to ClassLoading issues
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    (see https://code.google.com/p/dexmaker/issues/detail?id=20)
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbug-8297640.patch: temporary workaround for a breakage in object instantiation
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    (see https://code.google.com/p/dexmaker/issues/detail?id=22)
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch(to apply, run 'patch -p0 < bug-xyz.patch' from a fresh src)
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch