The authors of ASM offer a byte code library similar to ASM that deals with Android's DEX format. The 2.0 version of ASM is old by the way. The current version number is 4 with 5 being in the beta state.
It does however sound to me like you should not apply this instrumentation at run time. You should usually not use run time byte code generation when you can also generate this code at compile time. Instrumentation is a quite heavy tool.
Instead, maybe source code generation is an option for you? Or maybe your problem is solved as simple as by applying the template method pattern? You might also look into the Java compiler API or into tools like Spoon which you could apply in your build process.