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.

Reply via email to