Philip P. Moltmann | 43b4c62 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 1 | URL: https://github.com/linkedin/dexmaker/ |
Garfield Tan | 630e074 | 2019-09-10 10:46:22 -0700 | [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) |
Garfield Tan | f342749 | 2019-09-10 12:27:24 -0700 | [diff] [blame] | 16 | Restrict InspectClass to current thread. (Ic62951ff81bed60ac7512455fad65210e4b728a9, need upstreaming) |
Garfield Tan | 6059c76 | 2019-07-08 14:22:55 -0700 | [diff] [blame] | 17 | Exclude Stress#mockALot from presubmit (Ic9a2927ffa07924bd759429e31c56dc1b71a826c) |
ke.zhao | f53c147 | 2019-09-12 15:12:47 +0800 | [diff] [blame] | 18 | Extend timeout of Stress#mockALot() for CTS. (Iad30a8cb07b38054b490b7006d11908fc752a024) |
Garfield Tan | 40a3dd8 | 2019-09-10 15:29:53 -0700 | [diff] [blame] | 19 | Update to Mockito 2.25.0 and impl InlineMockMaker (29a8674036d345e4ec8635b1d38d8b2a4fe91980a, need upstreaming) |
Songchun Fan | 7561e26 | 2020-01-23 12:10:46 -0800 | [diff] [blame] | 20 | guessPath not to depend on the first level of app directory (I66f1d7036949c2f05e6d37bc270d47f8e77e51c1, need upstreaming) |