Philip P. Moltmann | 43b4c62 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 1 | URL: https://github.com/linkedin/dexmaker/ |
Philip P. Moltmann | aa1c0e9 | 2018-12-05 08:46:19 -0800 | [diff] [blame] | 2 | Version: master (8ff85edb2793cc1e0f6a93c67b127cb9c43d924e) |
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) |
Garfield Tan | 9adf8bd | 2019-01-22 14:01:00 -0800 | [diff] [blame] | 15 | Temporarily ignore failing test (Ibf7b6c2eb05c5ff83f0817f9224369e20c0b775d) |
| 16 | Restrict InspectClass to current thread. (Ic62951ff81bed60ac7512455fad65210e4b728a9, need upstreaming) |