That's excellent news! Thanks!! Ariel On Monday, April 11, 2016 at 11:50:40 PM UTC+3, Jerome Dochez wrote: > > got it. yes this is relatively easy, we should add it in 2.2 timeframe. > > https://code.google.com/p/android/issues/detail?id=206504 > > Jerome > > On Mon, Apr 11, 2016 at 1:35 PM Ariel Cattan <[email protected] > <javascript:>> wrote: > >> Hi Jerome, >> >> Actually we are already doing very extensive dex transformations today. >> We found we had much more control with dex transformations, and in fact >> switched our entire solution to be based on dex transformations. >> Today our Gradle plugin finds its way through the various Android plugin >> tasks, takes the output of the dex task, does the transformations, and then >> adjusts the inputs of the packaging task so that it uses our instrumented >> dex files instead of the original ones. We are doing it with Android >> plugins below version 1.5.0, as well as above. However, since these are >> not official APIs, we have to "chase" you guys with every release :-) >> That's why we are striving to have an official, stable API that will >> allow us to do that. >> Using the Jack API may be interesting, depending on what capabilities it >> will expose. However since we're already heavily invested in dex >> instrumentation, it will be better for us to just be able to get the dex >> files as an input to a transform, and output back instrumented dex files. >> Wouldn't it be relatively easy for you to support such a path, using the >> transform API? >> >> Thanks! >> Ariel >> >> >> On Monday, April 11, 2016 at 10:41:31 PM UTC+3, Jerome Dochez wrote: >> >>> Hi Ariel >>> >>> I think this discussion can go into different directions. >>> >>> - we might at some point give access to transforms that manipulate dex >>> files but the question remain, how do you plan to do the actual >>> transformation ? asm-dex seems to not be complete for instance. >>> >>> - we will keep a path (even with jack enabled) where javac will be used >>> to compile java code into .class files and bytecode manipulation will still >>> be possible before the .class files are reinjected into the jack pipeline >>> (which will be how instant-run+jack will be implemented initially). >>> >>> - Jack will also provide an API (based on ECJ) to register jack native >>> bytecode enhancement that will allow you to do byte code manipulation as >>> well (although constructs will be at a higher level obviously). This might >>> be how instant-run will evolve. >>> >>> which path would you rather take ? >>> >>> On Mon, Apr 11, 2016 at 6:26 AM Ariel Cattan <[email protected]> wrote: >>> >> Hi, >>>> >>>> At the initial stages of the Transform API there seemed to be a way to >>>> add a Dex transformation, but this was taken away. >>>> We are seeking for official/safe ways to instrument Dex files. It >>>> became important when Jack was introduced (as Java bytecode >>>> instrumentation >>>> is not possible with Jack), and now with Instant Run it is again very >>>> relevant. We would like to have the build system call our plugin in order >>>> to transform each Dex file being created, so that we could instrument it. >>>> With Instant Run, for example, once a new small Dex is created - if we >>>> could have a transform being called and handed this changed file - we >>>> could >>>> instrument it on-the-fly, as part of the instant run build. >>>> Is there a way to do it today, or plans to support such functionality >>>> in the future? >>>> >>>> Thanks! >>>> Ariel Cattan >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "adt-dev" group. >>>> >>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>> >>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "adt-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> >
-- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
