blob: 6ab56df7f46ad8d3855af7b661eb25b7efff2e6f [file] [log] [blame]
Philip P. Moltmann43b4c622017-11-20 09:38:54 -08001URL: https://github.com/linkedin/dexmaker/
Philip P. Moltmann42193a52018-11-06 09:21:16 -08002Version: master (2a9362a34e724a5806bf26802c0b0175686686fe)
Hugo Hudson01f8aec2012-01-11 15:29:28 +00003License: Apache 2.0
Hugo Hudson01f8aec2012-01-11 15:29:28 +00004Description:
Paul Duffina13e8e92016-07-22 12:16:26 +01005Dexmaker 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 Hudson01f8aec2012-01-11 15:29:28 +00006
7It 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
9It 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
11Local Modifications:
Philip P. Moltmann70402ca2018-08-28 16:57:52 +000012 Add ability to run dexmaker tests from within the source tree (I1b146841099b54f64d4a7dfe743b88717793619a)
Philip P. Moltmann004eeff2018-09-06 15:04:55 -070013 Allow to share classloader via dexmaker.share_classloader system property (I324cddd644610eef811c620a1fccf6a24b2b9406)
Philip P. Moltmann8938dc12018-09-06 15:08:32 -070014 Do not read Build.VERSION to allow non-standard Android distributions (Ia8c4ba4c82cd6f193c565f1bfe48faffc4aac08f)