Philip P. Moltmann | 43b4c62 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 1 | URL: https://github.com/linkedin/dexmaker/ |
Philip P. Moltmann | d4a2056 | 2018-03-13 13:11:07 -0700 | [diff] [blame] | 2 | Version: master (5fb49bba98647d7a0aeea0cbf91fd670c3ff552a) |
Hugo Hudson | 01f8aec | 2012-01-11 15:29:28 +0000 | [diff] [blame] | 3 | License: Apache 2.0 |
Hugo Hudson | 01f8aec | 2012-01-11 15:29:28 +0000 | [diff] [blame] | 4 | Description: |
Paul Duffin | a13e8e9 | 2016-07-22 12:16:26 +0100 | [diff] [blame] | 5 | Dexmaker is a 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. |
Hugo Hudson | 01f8aec | 2012-01-11 15:29:28 +0000 | [diff] [blame] | 6 | |
| 7 | 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. |
| 8 | |
| 9 | 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. |
| 10 | |
| 11 | Local Modifications: |
Philip P. Moltmann | 1bcdb86 | 2017-11-30 11:25:28 -0800 | [diff] [blame] | 12 | Allow to share classloader via dexmaker.share_classloader system property (I8c2490c3ec8e8582dc41c486f8f7a406bd635ebb) |
Philip P. Moltmann | 314cb2e | 2018-05-21 19:15:56 +0000 | [diff] [blame] | 13 | Allow 'Q' until we can replace the version check with a number based check |
| 14 | Mark mocks as trusted (needs upstreaming) |