[Soot-list] How to use soot to do whole program optimizations on android applications?

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Wed Jun 23 11:04:22 EDT 2010


Hi Jeremy.

> Proguard serves my needs well enough except for one thing - it can't do
> optimizations which require escape analysis (most importantly, it doesn't do
> scalar replacement of temporary reference type instantiations). I was told
> that Soot can do these sorts of optimizations.
> So, my first question is: Is it true?

Surely Soot sounds like the right tool for that.

> And, my second question is: Assuming scalar replacement optimizations based
> on escape analysis would require whole program analysis, how do I get soot
> to do whole program analysis on an android application, which does not have
> a single entry point (the main function), but potentially multiple entry
> points (Activities, Services, DataProviders, etc..)?

Easiest would be to come up with a "mock" Main class that pretends to
call all the actual entry-point methods from the classes that you name
above. For me that has worked in the past.

Eric


More information about the Soot-list mailing list