android_mt6572_jiabo/external/dexmaker
2025-09-05 16:56:03 +08:00
..
javadoc first commit 2025-09-05 16:56:03 +08:00
lib first commit 2025-09-05 16:56:03 +08:00
src first commit 2025-09-05 16:56:03 +08:00
Android.mk first commit 2025-09-05 16:56:03 +08:00
bug-8108255.patch first commit 2025-09-05 16:56:03 +08:00
bug-10862083.patch first commit 2025-09-05 16:56:03 +08:00
build.gradle first commit 2025-09-05 16:56:03 +08:00
build.xml first commit 2025-09-05 16:56:03 +08:00
CleanSpec.mk first commit 2025-09-05 16:56:03 +08:00
COPYING first commit 2025-09-05 16:56:03 +08:00
MODULE_LICENSE_APACHE2 first commit 2025-09-05 16:56:03 +08:00
NOTICE first commit 2025-09-05 16:56:03 +08:00
README first commit 2025-09-05 16:56:03 +08:00

This folder contains the dexmaker library.

The latest version of dexmaker can be found at this url:
    http://code.google.com/p/dexmaker/

Version: f54f6eac0c81120f53265b30adf9ce602e8dfc41
License: Apache 2.0

Description:
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.

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.

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.

Local Modifications:
bug-8108255.patch: temporary workaround to ClassLoading issues
    (see https://code.google.com/p/dexmaker/issues/detail?id=20)
bug-10862083.patch: Do not assert that InvocationHandler.invoke args should be non-null
    (see https://code.google.com/p/dexmaker/issues/detail?id=27)

to apply, run 'patch -p0 < bug-xyz.patch' from a fresh src
to remove, use 'patch -p0 -R < bug-xyz.patch'