Philip P. Moltmann | 43b4c62 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 1 | URL: https://github.com/linkedin/dexmaker/ |
Philip P. Moltmann | 42193a5 | 2018-11-06 09:21:16 -0800 | [diff] [blame] | 2 | Version: master (2a9362a34e724a5806bf26802c0b0175686686fe) |
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 | 70402ca | 2018-08-28 16:57:52 +0000 | [diff] [blame] | 12 | Add ability to run dexmaker tests from within the source tree (I1b146841099b54f64d4a7dfe743b88717793619a) |
Philip P. Moltmann | 004eeff | 2018-09-06 15:04:55 -0700 | [diff] [blame] | 13 | Allow to share classloader via dexmaker.share_classloader system property (I324cddd644610eef811c620a1fccf6a24b2b9406) |
Philip P. Moltmann | 8938dc1 | 2018-09-06 15:08:32 -0700 | [diff] [blame^] | 14 | Do not read Build.VERSION to allow non-standard Android distributions (Ia8c4ba4c82cd6f193c565f1bfe48faffc4aac08f) |