[Soot-list] Generating Android APK CallFlowGraph

Monika Mashalkar monikamashalkar at gmail.com
Wed Feb 25 07:51:01 EST 2015


Hi Steven,

Thanks for your quick reply. I am able to run the code now. But I am
getting the warnings as follow :

Warning: java.lang.ref.Finalizer is a phantom class!
Warning: android.graphics.pdf.PdfDocument$Page is a phantom class!
Warning: android.graphics.pdf.PdfDocument$PageInfo is a phantom class!
Warning: android.graphics.pdf.PdfDocument is a phantom class!
Warning: android.media.RemoteControlClient$OnGetPlaybackPositionListener is
a phantom class!
Warning: android.media.RemoteControlClient$OnPlaybackPositionUpdateListener
is a phantom class!
Warning: android.print.PageRange is a phantom class!
Warning: android.print.PrintAttributes$Builder is a phantom class!
Warning: android.print.PrintAttributes$MediaSize is a phantom class!
Warning: android.print.PrintAttributes is a phantom class!
Warning: android.print.PrintDocumentAdapter$LayoutResultCallback is a
phantom class!
Warning: android.print.PrintDocumentAdapter$WriteResultCallback is a
phantom class!
Warning: android.print.PrintDocumentAdapter is a phantom class!
Warning: android.print.PrintDocumentInfo$Builder is a phantom class!
Warning: android.print.PrintDocumentInfo is a phantom class!
Warning: android.print.PrintJob is a phantom class!
Warning: android.print.PrintManager is a phantom class!
Warning: android.print.pdf.PrintedPdfDocument is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowAttachListener is a phantom
class!
Warning: android.view.ViewTreeObserver$OnWindowFocusChangeListener is a
phantom class!

May I know the reason, why I am getting these warnings ?

The command that I am using to run the program is :

monika at monika-OptiPlex-990:~$ java -cp
.:soot-trunk.jar:soot-infoflow.jar:soot-infoflow-android.jar:slf4j-api-1.7.5.jar:slf4j-simple-1.7.5.jar:axml-2.0.jar:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar
CFG

I am attaching the output file with this mail. Please, tell me I am getting
it correct or not.

Thanks and regards,
Monika

On Wed, Feb 25, 2015 at 3:51 PM, Steven Arzt <Steven.Arzt at cased.de> wrote:

> Hi Monika,
>
>
>
> The CFG class is not part of Soot. It was just written as an example. You
> need to compile it on your own.
>
>
>
> Best regards,
>
>   Steven
>
>
>
>
>
> M.Sc. M.Sc. Steven Arzt
>
> Secure Software Engineering Group (SSE)
>
> European Center for Security and Privacy by Design (EC SPRIDE)
>
> Rheinstraße 75
>
> D-64293 Darmstadt
>
> Phone: +49 61 51 869-336
>
> Fax: +49 61 51 16-72118
>
> eMail: steven.arzt at ec-spride.de
>
> Web: http://sse.ec-spride.de
>
>
>
>
>
>
>
> *Von:* Monika Mashalkar [mailto:monikamashalkar at gmail.com]
> *Gesendet:* Mittwoch, 25. Februar 2015 05:30
> *An:* soot-list at googlegroups.com
> *Cc:* soot-list at sable.mcgill.ca; soot-list at cs.mcgill.ca;
> Steven.Arzt at cased.de
> *Betreff:* Re: [Soot-list] Generating Android APK CallFlowGraph
>
>
>
> Hi Lokesh,
>
>
>
> I am very new to the SOOT Framework and Flow-droid. I want to find the
> flow graph from android apk in my project and I am trying to run the code
> posted in this thread to do the same. I am trying to run the following
> command on Ubuntu
>
> Command : java -cp
> soot-trunk.jar:soot-infoflow.jar:soot-infoflow-android.jar:slf4j-api-1.7.5.jar:slf4j-simple-1.7.5.jar:axml-2.0.jar
> -cp .:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar CFG
>
>
>
> but I am getting Error as : Error: Could not find or load main class CFG
>
>
>
> Could you please tell me the command to execute the CFG program.
>
>
>
> Thank you,
>
> Monika
>
>
> On Monday, 21 July 2014 13:46:37 UTC+5:30, LOKESH JAIN wrote:
>
> Hi all,
>
>
>
> I resolved the issue and finally i am getting the call graph. Thank you
> all of you for your time and help. :)
>
>
>
> 1. But Stevan I am still curious to know how to work with QueueReader
> Object for generating dot format.
>
> 2. And why the size of call graph for RV2013.apk is 54. And is there any
> way to remove unnecessary size.
>
>
>
> Thanks&Regards
>
> Lokesh
>
>
>
> On Mon, Jul 21, 2014 at 11:38 AM, LOKESH JAIN <lokesh... at gmail.com> wrote:
>
> Hi all,
>
> Steven I still couldn't figure it out how to work with queuereader object
> for generating dot format.
>
>
>
> I have used dot graph class manually as suggested to me by Stefan but,
>
> I am getting NullPointerException. I don't know why. I have pasted the
> complete code.
>
> Please help me out.
>
>
>
> Exception in thread "main" java.lang.NullPointerException
>
> at DotGraph.getNode(DotGraph.java:53)
>
> at DotGraph.drawNode(DotGraph.java:61)
>
> at CFG.visit(CFG.java:114)
>
> at CFG.main(CFG.java:94)
>
>
>
>
>
> CFG.java
>
>
>
> import java.io.BufferedOutputStream;
>
> import java.io.FileOutputStream;
>
> import java.io.IOException;
>
> import java.io.OutputStream;
>
> import java.util.Collections;
>
> import java.util.HashMap;
>
> import java.util.HashSet;
>
> import java.util.Iterator;
>
> import java.util.LinkedList;
>
> import java.util.List;
>
>
>
> import org.xmlpull.v1.XmlPullParserException;
>
>
>
> import soot.MethodOrMethodContext;
>
> import soot.PackManager;
>
> import soot.Scene;
>
> import soot.SootMethod;
>
> import soot.jimple.infoflow.android.SetupApplication;
>
> import soot.jimple.toolkits.callgraph.CallGraph;
>
> import soot.jimple.toolkits.callgraph.Targets;
>
> import soot.options.Options;
>
> import soot.util.dot.DotGraphUtility;
>
> import soot.util.dot.Renderable;
>
> public class CFG {
>
> private static DotGraph dot = new DotGraph("callgraph");
>
> private static HashMap <String,Boolean> visited = new
> HashMap<String,Boolean>();
>
> public CFG() {
>
>
>
>
>
> }
>
>
>
> public static void main(String[] args) {
>
>
>
> // TODO Auto-generated method stub
>
>
>
> SetupApplication app = new
> SetupApplication("/home/lokesh/Desktop/android-sdk-linux/platforms/android-19/android.jar","/home/lokesh/Desktop/android-instrumentation-tutorial-master/app-example/RV2013/bin/RV2013.apk");
>
> try {
>
>
>
>
> app.calculateSourcesSinksEntrypoints("/home/lokesh/Downloads/soot-infoflow-android-develop/SourcesAndSinks.txt");
>
>
>
>
>
> } catch (IOException e) {
>
>
>
> // TODO Auto-generated catch block
>
>
>
> e.printStackTrace();
>
>
>
> } catch (XmlPullParserException e) {
>
>
>
> // TODO Auto-generated catch block
>
>
>
> e.printStackTrace();
>
>
>
> }
>
>
>
> soot.G.reset();
>
>
>
> Options.v().set_src_prec(Options.src_prec_apk);
>
>
>
>
> Options.v().set_process_dir(Collections.singletonList("/home/lokesh/Desktop/android-instrumentation-tutorial-master/app-example/RV2013/bin/RV2013.apk"));
>
>
>
>
> Options.v().set_force_android_jar("/home/lokesh/Desktop/android-sdk-linux/platforms/android-19/android.jar");
>
>
>
> Options.v().set_whole_program(true);
>
>
>
> Options.v().set_allow_phantom_refs(true);
>
>
>
> Options.v().set_output_format(Options.output_format_none);
>
>
>
> Options.v().setPhaseOption("cg.spark verbose:true", "on");
>
>
>
> Scene.v().loadNecessaryClasses();
>
>
>
> SootMethod entryPoint = app.getEntryPointCreator().createDummyMain();
>
>
>
> Options.v().set_main_class(entryPoint.getSignature());
>
>
>
> Scene.v().setEntryPoints(Collections.singletonList(entryPoint));
>
>
>
> System.out.println("............"+entryPoint.getActiveBody());
>
>
>
> PackManager.v().runPacks();
>
>
>
> System.out.println(Scene.v().getCallGraph().size());
>
> CallGraph cg = Scene.v().getCallGraph();
>
>
>
> visit(cg, entryPoint);
>
> dot.plot("/home/lokesh/Desktop/soot1"+ dot.DOT_EXTENSION);
>
>
>
> }
>
> private static void visit(CallGraph cg, SootMethod k)
>
> {
>
> String identifier = k.getName();
>
>
>
> visited.put(k.getSignature(),true);
>
>
>
>
>
> dot.drawNode(identifier);
>
>
>
>
>
> //iterate over unvisited parents
>
> Iterator<MethodOrMethodContext> ptargets = new Targets(cg.edgesInto(k));
>
>
>
>
>
> if(ptargets != null){
>
> while(ptargets.hasNext())
>
> {
>
> SootMethod p = (SootMethod) ptargets.next();
>
>
>
>
>
> if(p == null) System.out.println("p is null");
>
>
>
>
>
> if(!visited.containsKey(p.getSignature()))
>
> visit(cg,p);
>
> }
>
> }
>
>
>
>
>
> //iterate over unvisited children
>
> Iterator<MethodOrMethodContext> ctargets = new Targets(cg.edgesOutOf(k));
>
>
>
>
>
> if(ctargets != null){
>
> while(ctargets.hasNext())
>
> {
>
> SootMethod c = (SootMethod) ctargets.next();
>
> if(c == null) System.out.println("c is null");
>
> dot.drawEdge(identifier, c.getName());
>
>
>
>
>
> if(!visited.containsKey(c.getSignature()))
>
> visit(cg,c);
>
> }
>
> }
>
> }
>
> }
>
>
>
>
>
>
>
>
>
> DotGraph.java
>
>
>
> import java.io.BufferedOutputStream;
>
> import java.io.FileOutputStream;
>
> import java.io.IOException;
>
> import java.io.OutputStream;
>
> import java.util.HashMap;
>
> import java.util.LinkedList;
>
> import java.util.List;
>
>
>
> import soot.util.dot.DotGraphEdge;
>
> import soot.util.dot.DotGraphNode;
>
> import soot.util.dot.DotGraphUtility;
>
> import soot.util.dot.Renderable;
>
>
>
> public class DotGraph implements Renderable
>
> {
>
> public final static String DOT_EXTENSION = ".dot";
>
> private HashMap<String, DotGraphNode> nodes;
>
> private boolean isSubGraph;
>
> private List<Renderable> drawElements;
>
> private String graphname;
>
> public DotGraph(String graphname)
>
> {
>
> this.drawElements = new LinkedList<Renderable>();
>
> }
>
> public DotGraph createSubGraph(String label)
>
> {
>
> DotGraph subgraph = new DotGraph(label);
>
> subgraph.isSubGraph = true;
>
> this.drawElements.add(subgraph);
>
> System.out.println(subgraph);
>
> return subgraph;
>
> }
>
> @Override
>
> public void render(OutputStream out, int indent) throws IOException {
>
> String graphname = this.graphname;
>
>    if (!isSubGraph) {
>
>      DotGraphUtility.renderLine(out, "digraph \""+graphname+"\" {",
> indent);
>
>    } else {
>
>  DotGraphUtility.renderLine(out, "subgraph \""+graphname+"\" {", indent);
>
>
>
>    }
>
> }
>
> public void plot(String filename) {
>
>     try {
>
>       BufferedOutputStream out =new BufferedOutputStream(new
> FileOutputStream(filename));
>
>       render(out, 0);
>
>       out.close();
>
>     } catch (IOException ioe) {
>
>     }
>
>   }
>
> public DotGraphNode getNode(String name){
>
> DotGraphNode node = nodes.get(name);
>
> if (node == null) {
>
> node = new DotGraphNode(name);
>
> nodes.put(name, node);
>
> }
>
> return node;
>
> }
>
> public DotGraphNode drawNode(String name){
>
> DotGraphNode node = getNode(name);
>
> if(node == null)
>
> throw new RuntimeException("Assertion failed.");
>
> if(!this.drawElements.contains(node))
>
> this.drawElements.add(node);
>
> return node;
>
>   }
>
>
>
> public DotGraphEdge drawEdge(String from, String to) {
>
> DotGraphNode src = drawNode(from);
>
> DotGraphNode dst = drawNode(to);
>
> DotGraphEdge edge = new DotGraphEdge(src, dst);
>
> this.drawElements.add(edge);
>
> return edge;
>
>
>
>   }
>
> }
>
>
>
> Thanks & Regards
>
> Lokesh
>
>
>
>
>
> On Sun, Jul 20, 2014 at 5:10 PM, Stefan Gommer <
> gom... at informatik.uni-bremen.de> wrote:
>
> Hi Lokesh,
>
>
>
> sorry I misspelled it. Originally it is of type Hash*Map*<String,Boolean>.
>
>
>
> You can also use HashSet<String>. In this case you have to use
> visited.add(k.getSignature());
>
>
>
> Regards,
>
> Stefan
>
>
>
> Am 20.07.2014 um 13:35 schrieb LOKESH JAIN <lokesh... at gmail.com>:
>
>
>
> Hi Stefan,
>
> HashSet<String,Boolean> type is giving error whereas HashSet<String> is
> correct form. But
>
>
>
> then
>
> visited.put(k.getSignature(),true) is giving error.
>
> How do i resolve this?
>
>
>
> Thanks & Regards
>
> Lokesh
>
>
>
> On Sun, Jul 20, 2014 at 4:52 PM, LOKESH JAIN <lokesh... at gmail.com> wrote:
>
> Hi Stefan,
>
> HashSet<String,Boolean> type is giving error whereas HashSet<String> is
> correct form. But
>
>
>
> then
>
> visited.put(k.getSignature(),true) is giving error.
>
>
>
> Thanks & Regards
>
> Lokesh
>
>
>
> On Sun, Jul 20, 2014 at 4:16 PM, Stefan Gommer <
> gom... at informatik.uni-bremen.de> wrote:
>
> Hi Lokesh,
>
>
>
> visited is of type HashSet<String,Boolean> but can also be any kind of
> List like HashSet<String>
>
>
>
> Regards
>
> Stefan
>
>
>
> Am 20.07.2014 um 12:44 schrieb LOKESH JAIN <lokesh... at gmail.com>:
>
>
>
> Hey Stefan!
>
> What is the type of "visited" ?
>
> Thanks & Regards
>
> Lokesh
>
>
>
> On Sun, Jul 20, 2014 at 2:57 PM, Stefan Gommer <
> gom... at informatik.uni-bremen.de> wrote:
>
> Hi Lokesh,
>
>
>
> I did it like this (I skipped the standard soot settings:
>
>
>
> private static DotGraph dot = new DotGraph("CallGraph“);
>
> ...
>
> SootMethod entryPoint = app.getEntryPointCreator().createDummyMain();
>
>>
> PackManager.v().runPacks();
>
> CallGraph cg = Scene.v().getCallGraph();
>
> visit(cg, entryPoint);
>
>>
> dot.plot("/Users/neji/Desktop/graph"+ dot.*DOT_EXTENSION*);
>
>>
>
>
>
>
> private static void visit(CallGraph cg, SootMethod k)
>
> {
>
> String identifier = k.getName();
>
>
>
> visited.put(k.getSignature(), true);
>
>
>
> dot.drawNode(identifier);
>
>
>
> //iterate over unvisited parents
>
> Iterator<MethodOrMethodContext> ptargets = new Targets(cg.edgesInto(k));
>
>
>
> if(ptargets != null){
>
> while(ptargets.hasNext())
>
> {
>
> SootMethod p = (SootMethod) ptargets.next();
>
>
>
> if(p == null) System.out.println("p is null");
>
>
>
> if(!visited.containsKey(p.getSignature()))
>
> visit(cg,p);
>
> }
>
> }
>
>
>
> //iterate over unvisited children
>
> Iterator<MethodOrMethodContext> ctargets = new Targets(cg.edgesOutOf(k));
>
>
>
> if(ctargets != null){
>
> while(ctargets.hasNext())
>
> {
>
> SootMethod c = (SootMethod) ctargets.next();
>
> if(c == null) System.out.println("c is null");
>
> dot.drawEdge(identifier, c.getName());
>
>
>
> if(!visited.containsKey(c.getSignature()))
>
> visit(cg,c);
>
> }
>
> }
>
> }
>
>
>
>
>
> Am 20.07.2014 um 09:44 schrieb LOKESH JAIN <lokesh... at gmail.com>:
>
>
>
> I have tried DotGraph class from the soot.util.dot package but it's giving
> me null pointer exception. Following is the tried code.
>
> I have converted QueueReader object into string as DotGraph takes only
> string argument. It's getting complicated. Please suggest some simple
> solution.
>
>
> import java.io.IOException;
> import java.io.OutputStream;
> import java.util.Collections;
> import java.util.LinkedList;
> import java.util.List;
>
> import org.xmlpull.v1.XmlPullParserException;
>
> import soot.PackManager;
> import soot.Scene;
> import soot.SootMethod;
> import soot.jimple.infoflow.android.SetupApplication;
> import soot.options.Options;
> import soot.util.dot.DotGraphUtility;
> import soot.util.dot.Renderable;
> public class CFG {
>      //private static Map options;
>     static DotGraph dg;
> public CFG() {
> //this.options=options;
> // TODO Auto-generated constructor stub
>
> }
> /*public DotGraph createSubGraph(String label)
> {
>
> DotGraph createSubGraph =
> DotGraph.createSubGraph(Scene.v().getCallGraph().listener().toString());
> }*/
> public static void main(String[] args) {
>
> // TODO Auto-generated method stub
>
> SetupApplication app = new
> SetupApplication("/home/lokesh/Desktop/android-sdk-linux/platforms/android-19/android.jar","/home/lokesh/Desktop/android-instrumentation-tutorial-master/app-example/RV2013/bin/RV2013.apk");
>
> try {
>
>
> app.calculateSourcesSinksEntrypoints("/home/lokesh/Downloads/soot-infoflow-android-develop/SourcesAndSinks.txt");
>
>
> } catch (IOException e) {
>
> // TODO Auto-generated catch block
>
> e.printStackTrace();
>
> } catch (XmlPullParserException e) {
>
> // TODO Auto-generated catch block
>
> e.printStackTrace();
>
> }
>
> soot.G.reset();
>
> Options.v().set_src_prec(Options.src_prec_apk);
>
>
> Options.v().set_process_dir(Collections.singletonList("/home/lokesh/Desktop/android-instrumentation-tutorial-master/app-example/RV2013/bin/RV2013.apk"));
>
> Options.v().set_force_android_jar("/home/lokesh/Desktop/android-sdk-linux/platforms/android-19/android.jar");
>
> Options.v().set_whole_program(true);
>
> Options.v().set_allow_phantom_refs(true);
>
> Options.v().set_output_format(Options.output_format_none);
>
> Options.v().setPhaseOption("cg.spark verbose:true", "on");
>
> Scene.v().loadNecessaryClasses();
>
> SootMethod entryPoint = app.getEntryPointCreator().createDummyMain();
>
> Options.v().set_main_class(entryPoint.getSignature());
>
> Scene.v().setEntryPoints(Collections.singletonList(entryPoint));
>
> System.out.println("............"+entryPoint.getActiveBody());
>
> PackManager.v().runPacks();
>
> System.out.println(Scene.v().getCallGraph().size());
> String label = Scene.v().getCallGraph().listener().toString();
> dg.createSubGraph(label);
> }
> }
>
> import java.io.IOException;
> import java.io.OutputStream;
> import java.util.LinkedList;
> import java.util.List;
>
> import soot.util.dot.DotGraphUtility;
> import soot.util.dot.Renderable;
>
> public class DotGraph implements Renderable
> {
> private boolean isSubGraph;
> private List<Renderable> drawElements;
> private String graphname;
> public DotGraph(String graphname)
> {
> this.drawElements = new LinkedList<Renderable>();
> }
> public DotGraph createSubGraph(String label)
> {
> DotGraph subgraph = new DotGraph(label);
> subgraph.isSubGraph = true;
> this.drawElements.add(subgraph);
> System.out.println(subgraph);
> return subgraph;
> }
> @Override
> public void render(OutputStream out, int indent) throws IOException {
>     String graphname = this.graphname;
>         if (!isSubGraph) {
>           DotGraphUtility.renderLine(out, "digraph \""+graphname+"\" {",
> indent);
>         } else {
>  DotGraphUtility.renderLine(out, "subgraph \""+graphname+"\" {", indent);
>
>         }
>
> }
> }
>
> Thanks & Regards
>
> Lokesh
>
>
>
> On Sat, Jul 19, 2014 at 10:57 PM, Stefan Gommer <gommer... at googlemail.com>
> wrote:
>
> Hi Lokesh,
>
>
>
> you could use the DotGraph class from the soot.util.dot package and build
> a Graph on your own while traversing through the cfg. I don’t know if there
> is a method to do this automatically.
>
>
>
> Stefan
>
>
>
>
>
> Am 19.07.2014 um 15:16 schrieb LOKESH JAIN <lokesh... at gmail.com>:
>
>
>
> Hi Steven,
>
> this Scene.v().getCallgraph().listener() is giving me QueueReader object.
> But I am not able to create a dot file from it. I have tried dump_cfg and
> various others options but all are of no help.
>
>
>
> 1. Please can you tell me how do i print a dot file out of QueueReader
> object?
>
>
>
> Also I am getting the call graph size as 54 for the general example apk
> "RV2013.apk".
>
>
>
> 2. How come call graph size is 54?
>
>
>
>
>
> On Fri, Jul 18, 2014 at 9:37 PM, Steven Arzt <Steve... at cased.de> wrote:
>
> Hi Lokesh,
>
>
>
> You can manually iterate over the callgraph using
> Scene.v().getCallgraph().listener() and print it out in dot format  which
> should be fairly simple as it is just a QueueReader over the edges. Still,
> I think Soot can also directly do that, but I have never used  the dot
> visualizer for callgraphs.
>
>
>
> Afterwards, you can visualize the dot file using GraphViz.
>
>
>
> Best regards,
>
>   Steven
>
>
>
> *Von:* LOKESH JAIN [mailto:lokesh... at gmail.com]
> *Gesendet:* Freitag, 18. Juli 2014 18:04
> *An:* Steven Arzt
> *Cc:* Modhi Alsobiehy; soot... at cs.mcgill.ca; soot... at sable.mcgill.ca;
> soot... at googlegroups.com
>
>
> *Betreff:* Re: [Soot-list] Generating Android APK CallFlowGraph
>
>
>
>
>
> Hi,
>
> A gentle reminder. Please reply fast. I need it for my research project.
>
>
>
> Regards
>
> Lokesh
>
>
>
> On Thu, Jul 17, 2014 at 9:21 PM, LOKESH JAIN <lokesh... at gmail.com> wrote:
>
> Thanks a lot Steven and Modhi. It worked.
>
> It is showing call graph in words. How can I graphically see the call
> graph for apk files as we see for java files??
>
>
>
> Regards
>
> Lokesh Jain
>
>
>
> On Thu, Jul 17, 2014 at 6:11 PM, Steven Arzt <Steve... at cased.de> wrote:
>
> Hi Lokesh,
>
>
>
> It seems that you are missing the axml-2.0.jar library on your Java
> classpath.
>
>
>
> Best regards,
>
>   Steven
>
>
>
> *Von:* soot-lis... at CS.McGill.CA [mailto:soot-lis... at CS.McGill.CA] *Im
> Auftrag von *Modhi Alsobiehy
> *Gesendet:* Donnerstag, 17. Juli 2014 14:39
> *An:* LOKESH JAIN
> *Cc:* soot... at cs.mcgill.ca; soot... at sable.mcgill.ca;
> soot... at googlegroups.com
> *Betreff:* Re: [Soot-list] Generating Android APK CallFlowGraph
>
>
>
> Hi Lokesh,
>
>
>
> Open the folder of your project and add the call back file into it.
>
>
>
> -Best,
>
> Modhi
>
>
> On Jul 17, 2014, at 12:03 PM, "LOKESH JAIN" <lokesh... at gmail.com> wrote:
>
> Hi all,
>
> Modhi, I am using your code for generating call graph for apk file. But, I
> am getting following error
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> pxb/android/axml/NodeVisitor
>     at
> soot.jimple.infoflow.android.manifest.ProcessManifest.handle(Unknown Source)
>     at
> soot.jimple.infoflow.android.manifest.ProcessManifest.<init>(Unknown Source)
>     at
> soot.jimple.infoflow.android.manifest.ProcessManifest.<init>(Unknown Source)
>     at
> soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(Unknown
> Source)
>     at
> soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(Unknown
> Source)
>     at CFG.main(CFG.java:33)
> Caused by: java.lang.ClassNotFoundException: pxb.android.axml.NodeVisitor
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>     ... 6 more
>
> It's pretty much the same error that you were getting. Though I had
> checked , there is no duplicate library added. Also there is already
> AndroidCallbacks.txt in soot-infoflow-android, i haven't understood how to
> add it into my project.
> Any help would be appreciated. Thank You
> Regards
> Lokesh
>
>
> On Saturday, 5 July 2014 23:04:49 UTC+5:30, Modhi Alsobiehy wrote:
>
> Hi all,
>
> I need to traverse the call flow graph of android apps( apk files).
>
> I understand that I must set an entry point so to start, I tried the
> following code :
>
>
>
> ---------------------
>
> ...
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150225/579e76c3/attachment-0003.html 
-------------- next part --------------
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/monika/soot-trunk.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/monika/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
[main] INFO soot.jimple.infoflow.android.SetupApplication - ARSC file parsing took 0.009049432 seconds
Using '/home/monika/adt-bundle-linux/sdk/platforms/android-17/android.jar' as android.jar
Warning: java.lang.ref.Finalizer is a phantom class!
Warning: android.graphics.pdf.PdfDocument$Page is a phantom class!
Warning: android.graphics.pdf.PdfDocument$PageInfo is a phantom class!
Warning: android.graphics.pdf.PdfDocument is a phantom class!
Warning: android.media.RemoteControlClient$OnGetPlaybackPositionListener is a phantom class!
Warning: android.media.RemoteControlClient$OnPlaybackPositionUpdateListener is a phantom class!
Warning: android.print.PageRange is a phantom class!
Warning: android.print.PrintAttributes$Builder is a phantom class!
Warning: android.print.PrintAttributes$MediaSize is a phantom class!
Warning: android.print.PrintAttributes is a phantom class!
Warning: android.print.PrintDocumentAdapter$LayoutResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter$WriteResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter is a phantom class!
Warning: android.print.PrintDocumentInfo$Builder is a phantom class!
Warning: android.print.PrintDocumentInfo is a phantom class!
Warning: android.print.PrintJob is a phantom class!
Warning: android.print.PrintManager is a phantom class!
Warning: android.print.pdf.PrintedPdfDocument is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowAttachListener is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowFocusChangeListener is a phantom class!
[main] INFO soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Generated main method:
    public static void dummyMainMethod()
    {
        int $i0;
        com.example.tutorialapplication.TutorialMainActivity $r0;
        android.os.Bundle $r1;

        $i0 = 0;

     label1:
        if $i0 == 0 goto label3;

        $r0 = new com.example.tutorialapplication.TutorialMainActivity;

        specialinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void <init>()>();

        if $i0 == 1 goto label3;

        $r1 = new android.os.Bundle;

        specialinvoke $r1.<android.os.Bundle: void <init>()>();

        virtualinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void onCreate(android.os.Bundle)>($r1);

        $r1 = null;

     label2:
        if $i0 == 3 goto label3;

        if $i0 == 4 goto label2;

     label3:
        if $i0 == 6 goto label1;

        return;
    }

[Call Graph] For information on where the call graph may be incomplete, use the verbose option to the cg phase.
[Spark] Pointer Assignment Graph in 0.1 seconds.
[Spark] Type masks in 0.0 seconds.
[Spark] Pointer Graph simplified in 0.0 seconds.
[Spark] Propagation in 2.7 seconds.
[Spark] Solution found in 2.7 seconds.
Callback analysis done.
Warning: AbsoluteLayout is a phantom class!
Warning: com.example.tutorialapplication.AbsoluteLayout is a phantom class!
Warning: android.view.AbsoluteLayout is a phantom class!
Warning: TextView is a phantom class!
Warning: com.example.tutorialapplication.TextView is a phantom class!
Warning: android.view.TextView is a phantom class!
Warning: EditText is a phantom class!
Warning: com.example.tutorialapplication.EditText is a phantom class!
Warning: android.view.EditText is a phantom class!
Warning: Button is a phantom class!
Warning: com.example.tutorialapplication.Button is a phantom class!
Warning: android.view.Button is a phantom class!
Found 1 layout controls in file res/layout/activity_tutorial_main.xml
Using '/home/monika/adt-bundle-linux/sdk/platforms/android-17/android.jar' as android.jar
Warning: java.lang.ref.Finalizer is a phantom class!
Warning: android.graphics.pdf.PdfDocument$Page is a phantom class!
Warning: android.graphics.pdf.PdfDocument$PageInfo is a phantom class!
Warning: android.graphics.pdf.PdfDocument is a phantom class!
Warning: android.media.RemoteControlClient$OnGetPlaybackPositionListener is a phantom class!
Warning: android.media.RemoteControlClient$OnPlaybackPositionUpdateListener is a phantom class!
Warning: android.print.PageRange is a phantom class!
Warning: android.print.PrintAttributes$Builder is a phantom class!
Warning: android.print.PrintAttributes$MediaSize is a phantom class!
Warning: android.print.PrintAttributes is a phantom class!
Warning: android.print.PrintDocumentAdapter$LayoutResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter$WriteResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter is a phantom class!
Warning: android.print.PrintDocumentInfo$Builder is a phantom class!
Warning: android.print.PrintDocumentInfo is a phantom class!
Warning: android.print.PrintJob is a phantom class!
Warning: android.print.PrintManager is a phantom class!
Warning: android.print.pdf.PrintedPdfDocument is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowAttachListener is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowFocusChangeListener is a phantom class!
[main] INFO soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Generated main method:
    public static void dummyMainMethod()
    {
        int $i0;
        com.example.tutorialapplication.TutorialMainActivity $r0;
        android.os.Bundle $r1;
        com.example.tutorialapplication.TutorialMainActivity$1 $r2;
        android.view.View $r3;

        $i0 = 0;

     label1:
        if $i0 == 0 goto label6;

        $r0 = new com.example.tutorialapplication.TutorialMainActivity;

        specialinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void <init>()>();

        if $i0 == 1 goto label6;

        $r1 = new android.os.Bundle;

        specialinvoke $r1.<android.os.Bundle: void <init>()>();

        virtualinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void onCreate(android.os.Bundle)>($r1);

        $r1 = null;

     label2:
        if $i0 == 2 goto label5;

     label3:
        $r2 = new com.example.tutorialapplication.TutorialMainActivity$1;

        specialinvoke $r2.<com.example.tutorialapplication.TutorialMainActivity$1: void <init>(com.example.tutorialapplication.TutorialMainActivity)>($r0);

        if $i0 == 3 goto label4;

        $r3 = new android.view.View;

        specialinvoke $r3.<android.view.View: void <init>()>();

        virtualinvoke $r2.<com.example.tutorialapplication.TutorialMainActivity$1: void onClick(android.view.View)>($r3);

        $r3 = null;

     label4:
        if $i0 == 4 goto label3;

     label5:
        if $i0 == 5 goto label2;

        if $i0 == 6 goto label6;

        if $i0 == 7 goto label2;

     label6:
        if $i0 == 9 goto label1;

        return;
    }

[Call Graph] For information on where the call graph may be incomplete, use the verbose option to the cg phase.
[Spark] Pointer Assignment Graph in 0.1 seconds.
[Spark] Type masks in 0.0 seconds.
[Spark] Pointer Graph simplified in 0.0 seconds.
[Spark] Propagation in 0.9 seconds.
[Spark] Solution found in 0.9 seconds.
Running incremental callback analysis for 1 components...
Incremental callback analysis done.
Found 86 callback methods for 1 components
Found {res/layout/activity_tutorial_main.xml=[2131230726 - android.widget.Button, 2131230723 - android.widget.EditText, 2131230721 - android.widget.TextView, 2131230720 - android.widget.AbsoluteLayout, 2131230722 - android.widget.TextView, 2131230727 - android.widget.EditText, 2131230725 - android.widget.EditText, 2131230724 - android.widget.TextView]} layout controls
Entry point calculation done.
Created a SourceSinkManager with 92 sources, 126 sinks, and 86 callback methods.
Using '/home/monika/adt-bundle-linux/sdk/platforms/android-17/android.jar' as android.jar
Warning: android.graphics.pdf.PdfDocument$Page is a phantom class!
Warning: android.graphics.pdf.PdfDocument$PageInfo is a phantom class!
Warning: android.graphics.pdf.PdfDocument is a phantom class!
Warning: android.media.RemoteControlClient$OnGetPlaybackPositionListener is a phantom class!
Warning: android.media.RemoteControlClient$OnPlaybackPositionUpdateListener is a phantom class!
Warning: android.print.PageRange is a phantom class!
Warning: android.print.PrintAttributes$Builder is a phantom class!
Warning: android.print.PrintAttributes$MediaSize is a phantom class!
Warning: android.print.PrintAttributes is a phantom class!
Warning: android.print.PrintDocumentAdapter$LayoutResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter$WriteResultCallback is a phantom class!
Warning: android.print.PrintDocumentAdapter is a phantom class!
Warning: android.print.PrintDocumentInfo$Builder is a phantom class!
Warning: android.print.PrintDocumentInfo is a phantom class!
Warning: android.print.PrintJob is a phantom class!
Warning: android.print.PrintManager is a phantom class!
Warning: android.print.pdf.PrintedPdfDocument is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowAttachListener is a phantom class!
Warning: android.view.ViewTreeObserver$OnWindowFocusChangeListener is a phantom class!
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Cannot create valid constructor for android.util.AttributeSet, because it is an interface and cannot substitute with subclass
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.text.TextUtils$TruncateAt
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.view.accessibility.AccessibilityEvent
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Cannot create valid constructor for java.lang.CharSequence, because it is an interface and cannot substitute with subclass
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.widget.TextView$BufferType
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.view.accessibility.AccessibilityNodeInfo
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.view.MotionEvent
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Cannot create valid constructor for android.graphics.drawable.Drawable, because it is abstract and cannot substitute with subclass
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Cannot create valid constructor for android.os.Parcelable, because it is an interface and cannot substitute with subclass
[main] WARN soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Could not find a suitable constructor for class android.view.DragEvent
[main] INFO soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator - Generated main method:
    public static void dummyMainMethod()
    {
        int $i0, $i1, $i2, $i3, $i4, $i5, $i6, $i7, $i8, $i9, $i10, $i11;
        com.example.tutorialapplication.TutorialMainActivity $r0;
        android.os.Bundle $r1;
        android.widget.AbsoluteLayout $r2;
        android.view.ViewGroup$LayoutParams $r3, $r4, $r5, $r6, $r7;
        boolean $z0, $z1, $z2, $z3, $z4, $z5, $z6, $z7, $z8, $z9, $z10, $z11, $z12, $z13, $z14, $z15, $z16, $z17;
        android.widget.EditText $r8;
        android.text.method.MovementMethod $r9;
        java.lang.CharSequence $r10, $r18;
        android.widget.TextView $r11;
        android.view.KeyEvent $r12, $r13, $r16, $r23, $r24;
        android.graphics.Rect $r14, $r25;
        android.graphics.Canvas $r15;
        android.view.View $r17, $r30;
        android.view.inputmethod.EditorInfo $r19;
        android.view.inputmethod.InputConnection $r20;
        int[] $r21;
        float $f0, $f1;
        java.util.ArrayList $r22;
        android.view.AccessibilityIterators$TextSegmentIterator $r26;
        android.os.Parcelable $r27;
        android.widget.Button $r28;
        com.example.tutorialapplication.TutorialMainActivity$1 $r29;

        $i0 = 0;

     label01:
        if $i0 == 0 goto label90;

        $r0 = new com.example.tutorialapplication.TutorialMainActivity;

        specialinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void <init>()>();

        if $i0 == 1 goto label90;

        $r1 = new android.os.Bundle;

        specialinvoke $r1.<android.os.Bundle: void <init>()>();

        virtualinvoke $r0.<com.example.tutorialapplication.TutorialMainActivity: void onCreate(android.os.Bundle)>($r1);

        $r1 = null;

     label02:
        if $i0 == 2 goto label89;

     label03:
        $r2 = new android.widget.AbsoluteLayout;

        specialinvoke $r2.<android.widget.AbsoluteLayout: void <init>(android.content.Context)>($r0);

        if $i0 == 3 goto label04;

        virtualinvoke $r2.<android.widget.AbsoluteLayout: void onMeasure(int,int)>(0, 0);

     label04:
        if $i0 == 4 goto label05;

        $r3 = virtualinvoke $r2.<android.widget.AbsoluteLayout: android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet)>(null);

     label05:
        if $i0 == 5 goto label06;

        $z0 = virtualinvoke $r2.<android.widget.AbsoluteLayout: boolean shouldDelayChildPressedState()>();

     label06:
        if $i0 == 6 goto label07;

        $r4 = new android.view.ViewGroup$LayoutParams;

        specialinvoke $r4.<android.view.ViewGroup$LayoutParams: void <init>()>();

        $z1 = virtualinvoke $r2.<android.widget.AbsoluteLayout: boolean checkLayoutParams(android.view.ViewGroup$LayoutParams)>($r4);

        $r4 = null;

     label07:
        if $i0 == 7 goto label08;

        $r5 = virtualinvoke $r2.<android.widget.AbsoluteLayout: android.view.ViewGroup$LayoutParams generateDefaultLayoutParams()>();

     label08:
        if $i0 == 8 goto label09;

        $r6 = new android.view.ViewGroup$LayoutParams;

        specialinvoke $r6.<android.view.ViewGroup$LayoutParams: void <init>()>();

        $r7 = virtualinvoke $r2.<android.widget.AbsoluteLayout: android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams)>($r6);

        $r6 = null;

     label09:
        if $i0 == 9 goto label10;

        virtualinvoke $r2.<android.widget.AbsoluteLayout: void onLayout(boolean,int,int,int,int)>(false, 0, 0, 0, 0);

     label10:
        $r8 = new android.widget.EditText;

        specialinvoke $r8.<android.widget.EditText: void <init>(android.content.Context)>($r0);

        if $i0 == 10 goto label11;

        virtualinvoke $r8.<android.widget.EditText: void setEllipsize(android.text.TextUtils$TruncateAt)>(null);

     label11:
        if $i0 == 11 goto label12;

        $r9 = virtualinvoke $r8.<android.widget.EditText: android.text.method.MovementMethod getDefaultMovementMethod()>();

     label12:
        if $i0 == 12 goto label13;

        $r10 = virtualinvoke $r8.<android.widget.EditText: java.lang.CharSequence getText()>();

     label13:
        if $i0 == 13 goto label14;

        virtualinvoke $r8.<android.widget.EditText: void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)>(null);

     label14:
        if $i0 == 14 goto label15;

        virtualinvoke $r8.<android.widget.EditText: void setText(java.lang.CharSequence,android.widget.TextView$BufferType)>(null, null);

     label15:
        if $i0 == 15 goto label16;

        $z2 = virtualinvoke $r8.<android.widget.EditText: boolean getDefaultEditable()>();

     label16:
        if $i0 == 16 goto label17;

        virtualinvoke $r8.<android.widget.EditText: void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)>(null);

     label17:
        $r11 = new android.widget.TextView;

        specialinvoke $r11.<android.widget.TextView: void <init>(android.content.Context)>($r0);

        if $i0 == 17 goto label18;

        $r12 = new android.view.KeyEvent;

        specialinvoke $r12.<android.view.KeyEvent: void <init>(int,int)>(0, 0);

        $z3 = virtualinvoke $r11.<android.widget.TextView: boolean onKeyPreIme(int,android.view.KeyEvent)>(0, $r12);

        $r12 = null;

     label18:
        if $i0 == 18 goto label19;

        virtualinvoke $r11.<android.widget.TextView: void setPadding(int,int,int,int)>(0, 0, 0, 0);

     label19:
        if $i0 == 19 goto label20;

        virtualinvoke $r11.<android.widget.TextView: void onScrollChanged(int,int,int,int)>(0, 0, 0, 0);

     label20:
        if $i0 == 20 goto label21;

        $i1 = virtualinvoke $r11.<android.widget.TextView: int getAccessibilityCursorPosition()>();

     label21:
        if $i0 == 21 goto label22;

        $i2 = virtualinvoke $r11.<android.widget.TextView: int getFadeHeight(boolean)>(false);

     label22:
        if $i0 == 22 goto label23;

        $r13 = new android.view.KeyEvent;

        specialinvoke $r13.<android.view.KeyEvent: void <init>(int,int)>(0, 0);

        $z4 = virtualinvoke $r11.<android.widget.TextView: boolean onKeyMultiple(int,int,android.view.KeyEvent)>(0, 0, $r13);

        $r13 = null;

     label23:
        if $i0 == 23 goto label24;

        $r14 = new android.graphics.Rect;

        specialinvoke $r14.<android.graphics.Rect: void <init>()>();

        virtualinvoke $r11.<android.widget.TextView: void getFocusedRect(android.graphics.Rect)>($r14);

        $r14 = null;

     label24:
        if $i0 == 24 goto label25;

        virtualinvoke $r11.<android.widget.TextView: void setEnabled(boolean)>(false);

     label25:
        if $i0 == 25 goto label26;

        virtualinvoke $r11.<android.widget.TextView: void onFinishTemporaryDetach()>();

     label26:
        if $i0 == 26 goto label27;

        virtualinvoke $r11.<android.widget.TextView: void onLayout(boolean,int,int,int,int)>(false, 0, 0, 0, 0);

     label27:
        if $i0 == 27 goto label28;

        virtualinvoke $r11.<android.widget.TextView: void computeScroll()>();

     label28:
        if $i0 == 28 goto label29;

        $r15 = new android.graphics.Canvas;

        specialinvoke $r15.<android.graphics.Canvas: void <init>()>();

        virtualinvoke $r11.<android.widget.TextView: void onDraw(android.graphics.Canvas)>($r15);

        $r15 = null;

     label29:
        if $i0 == 29 goto label30;

        virtualinvoke $r11.<android.widget.TextView: void resetResolvedDrawables()>();

     label30:
        if $i0 == 30 goto label31;

        $i3 = virtualinvoke $r11.<android.widget.TextView: int getTopPaddingOffset()>();

     label31:
        if $i0 == 31 goto label32;

        virtualinvoke $r11.<android.widget.TextView: void jumpDrawablesToCurrentState()>();

     label32:
        if $i0 == 32 goto label33;

        $i4 = virtualinvoke $r11.<android.widget.TextView: int getFadeTop(boolean)>(false);

     label33:
        if $i0 == 33 goto label34;

        $r16 = new android.view.KeyEvent;

        specialinvoke $r16.<android.view.KeyEvent: void <init>(int,int)>(0, 0);

        $z5 = virtualinvoke $r11.<android.widget.TextView: boolean onKeyShortcut(int,android.view.KeyEvent)>(0, $r16);

        $r16 = null;

     label34:
        if $i0 == 34 goto label35;

        virtualinvoke $r11.<android.widget.TextView: void onMeasure(int,int)>(0, 0);

     label35:
        if $i0 == 35 goto label36;

        virtualinvoke $r11.<android.widget.TextView: void debug(int)>(0);

     label36:
        if $i0 == 36 goto label37;

        $r17 = new android.view.View;

        specialinvoke $r17.<android.view.View: void <init>()>();

        virtualinvoke $r11.<android.widget.TextView: void onVisibilityChanged(android.view.View,int)>($r17, 0);

        $r17 = null;

     label37:
        if $i0 == 37 goto label38;

        virtualinvoke $r11.<android.widget.TextView: void onScreenStateChanged(int)>(0);

     label38:
        if $i0 == 38 goto label39;

        $i5 = virtualinvoke $r11.<android.widget.TextView: int computeVerticalScrollRange()>();

     label39:
        if $i0 == 39 goto label40;

        $z6 = virtualinvoke $r11.<android.widget.TextView: boolean onGenericMotionEvent(android.view.MotionEvent)>(null);

     label40:
        if $i0 == 40 goto label41;

        $z7 = virtualinvoke $r11.<android.widget.TextView: boolean onCheckIsTextEditor()>();

     label41:
        if $i0 == 41 goto label42;

        virtualinvoke $r11.<android.widget.TextView: void setAccessibilityCursorPosition(int)>(0);

     label42:
        if $i0 == 42 goto label43;

        virtualinvoke $r11.<android.widget.TextView: void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)>(null);

     label43:
        if $i0 == 43 goto label44;

        $i6 = virtualinvoke $r11.<android.widget.TextView: int computeVerticalScrollExtent()>();

     label44:
        if $i0 == 44 goto label45;

        $i7 = virtualinvoke $r11.<android.widget.TextView: int getBaseline()>();

     label45:
        if $i0 == 45 goto label46;

        virtualinvoke $r11.<android.widget.TextView: void onAttachedToWindow()>();

     label46:
        if $i0 == 46 goto label47;

        $r18 = virtualinvoke $r11.<android.widget.TextView: java.lang.CharSequence getIterableTextForAccessibility()>();

     label47:
        if $i0 == 47 goto label48;

        virtualinvoke $r11.<android.widget.TextView: void setPaddingRelative(int,int,int,int)>(0, 0, 0, 0);

     label48:
        if $i0 == 48 goto label49;

        $z8 = virtualinvoke $r11.<android.widget.TextView: boolean setFrame(int,int,int,int)>(0, 0, 0, 0);

     label49:
        if $i0 == 49 goto label50;

        $z9 = virtualinvoke $r11.<android.widget.TextView: boolean performLongClick()>();

     label50:
        if $i0 == 50 goto label51;

        $r19 = new android.view.inputmethod.EditorInfo;

        specialinvoke $r19.<android.view.inputmethod.EditorInfo: void <init>()>();

        $r20 = virtualinvoke $r11.<android.widget.TextView: android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo)>($r19);

        $r19 = null;

     label51:
        if $i0 == 51 goto label52;

        virtualinvoke $r11.<android.widget.TextView: void invalidateDrawable(android.graphics.drawable.Drawable)>(null);

     label52:
        if $i0 == 52 goto label53;

        virtualinvoke $r11.<android.widget.TextView: void onDetachedFromWindow()>();

     label53:
        if $i0 == 53 goto label54;

        virtualinvoke $r11.<android.widget.TextView: void onRestoreInstanceState(android.os.Parcelable)>(null);

     label54:
        if $i0 == 54 goto label55;

        $z10 = virtualinvoke $r11.<android.widget.TextView: boolean onTrackballEvent(android.view.MotionEvent)>(null);

     label55:
        if $i0 == 55 goto label56;

        $r21 = virtualinvoke $r11.<android.widget.TextView: int[] onCreateDrawableState(int)>(0);

     label56:
        if $i0 == 56 goto label57;

        $i8 = virtualinvoke $r11.<android.widget.TextView: int computeHorizontalScrollRange()>();

     label57:
        if $i0 == 57 goto label58;

        $z11 = virtualinvoke $r11.<android.widget.TextView: boolean onDragEvent(android.view.DragEvent)>(null);

     label58:
        if $i0 == 58 goto label59;

        $f0 = virtualinvoke $r11.<android.widget.TextView: float getRightFadingEdgeStrength()>();

     label59:
        if $i0 == 59 goto label60;

        virtualinvoke $r11.<android.widget.TextView: void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)>(null);

     label60:
        if $i0 == 60 goto label61;

        $r22 = new java.util.ArrayList;

        specialinvoke $r22.<java.util.ArrayList: void <init>()>();

        virtualinvoke $r11.<android.widget.TextView: void findViewsWithText(java.util.ArrayList,java.lang.CharSequence,int)>($r22, null, 0);

        $r22 = null;

     label61:
        if $i0 == 61 goto label62;

        virtualinvoke $r11.<android.widget.TextView: void onWindowFocusChanged(boolean)>(false);

     label62:
        if $i0 == 62 goto label63;

        $r23 = new android.view.KeyEvent;

        specialinvoke $r23.<android.view.KeyEvent: void <init>(int,int)>(0, 0);

        $z12 = virtualinvoke $r11.<android.widget.TextView: boolean onKeyUp(int,android.view.KeyEvent)>(0, $r23);

        $r23 = null;

     label63:
        if $i0 == 63 goto label64;

        $z13 = virtualinvoke $r11.<android.widget.TextView: boolean hasOverlappingRendering()>();

     label64:
        if $i0 == 64 goto label65;

        virtualinvoke $r11.<android.widget.TextView: void sendAccessibilityEvent(int)>(0);

     label65:
        if $i0 == 65 goto label66;

        virtualinvoke $r11.<android.widget.TextView: void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)>(null);

     label66:
        if $i0 == 66 goto label67;

        $r24 = new android.view.KeyEvent;

        specialinvoke $r24.<android.view.KeyEvent: void <init>(int,int)>(0, 0);

        $z14 = virtualinvoke $r11.<android.widget.TextView: boolean onKeyDown(int,android.view.KeyEvent)>(0, $r24);

        $r24 = null;

     label67:
        if $i0 == 67 goto label68;

        $i9 = virtualinvoke $r11.<android.widget.TextView: int getLeftPaddingOffset()>();

     label68:
        if $i0 == 68 goto label69;

        $f1 = virtualinvoke $r11.<android.widget.TextView: float getLeftFadingEdgeStrength()>();

     label69:
        if $i0 == 69 goto label70;

        virtualinvoke $r11.<android.widget.TextView: void dispatchFinishTemporaryDetach()>();

     label70:
        if $i0 == 70 goto label71;

        $z15 = virtualinvoke $r11.<android.widget.TextView: boolean isPaddingOffsetRequired()>();

     label71:
        if $i0 == 71 goto label72;

        virtualinvoke $r11.<android.widget.TextView: void onStartTemporaryDetach()>();

     label72:
        if $i0 == 72 goto label73;

        $r25 = new android.graphics.Rect;

        specialinvoke $r25.<android.graphics.Rect: void <init>()>();

        virtualinvoke $r11.<android.widget.TextView: void onFocusChanged(boolean,int,android.graphics.Rect)>(false, 0, $r25);

        $r25 = null;

     label73:
        if $i0 == 73 goto label74;

        virtualinvoke $r11.<android.widget.TextView: void cancelLongPress()>();

     label74:
        if $i0 == 74 goto label75;

        virtualinvoke $r11.<android.widget.TextView: void setSelected(boolean)>(false);

     label75:
        if $i0 == 75 goto label76;

        staticinvoke <android.widget.TextView: void <clinit>()>();

     label76:
        if $i0 == 76 goto label77;

        $i10 = virtualinvoke $r11.<android.widget.TextView: int getRightPaddingOffset()>();

     label77:
        if $i0 == 77 goto label78;

        virtualinvoke $r11.<android.widget.TextView: void onRtlPropertiesChanged(int)>(0);

     label78:
        if $i0 == 78 goto label79;

        virtualinvoke $r11.<android.widget.TextView: void drawableStateChanged()>();

     label79:
        if $i0 == 79 goto label80;

        $r26 = virtualinvoke $r11.<android.widget.TextView: android.view.AccessibilityIterators$TextSegmentIterator getIteratorForGranularity(int)>(0);

     label80:
        if $i0 == 80 goto label81;

        $z16 = virtualinvoke $r11.<android.widget.TextView: boolean verifyDrawable(android.graphics.drawable.Drawable)>(null);

     label81:
        if $i0 == 81 goto label82;

        $z17 = virtualinvoke $r11.<android.widget.TextView: boolean onTouchEvent(android.view.MotionEvent)>(null);

     label82:
        if $i0 == 82 goto label83;

        $i11 = virtualinvoke $r11.<android.widget.TextView: int getBottomPaddingOffset()>();

     label83:
        if $i0 == 83 goto label84;

        virtualinvoke $r11.<android.widget.TextView: void onResolveDrawables(int)>(0);

     label84:
        if $i0 == 84 goto label85;

        $r27 = virtualinvoke $r11.<android.widget.TextView: android.os.Parcelable onSaveInstanceState()>();

     label85:
        $r28 = new android.widget.Button;

        specialinvoke $r28.<android.widget.Button: void <init>(android.content.Context)>($r0);

        if $i0 == 85 goto label86;

        virtualinvoke $r28.<android.widget.Button: void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)>(null);

     label86:
        if $i0 == 86 goto label87;

        virtualinvoke $r28.<android.widget.Button: void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)>(null);

     label87:
        $r29 = new com.example.tutorialapplication.TutorialMainActivity$1;

        specialinvoke $r29.<com.example.tutorialapplication.TutorialMainActivity$1: void <init>(com.example.tutorialapplication.TutorialMainActivity)>($r0);

        if $i0 == 87 goto label88;

        $r30 = new android.view.View;

        specialinvoke $r30.<android.view.View: void <init>()>();

        virtualinvoke $r29.<com.example.tutorialapplication.TutorialMainActivity$1: void onClick(android.view.View)>($r30);

        $r30 = null;

     label88:
        if $i0 == 88 goto label03;

     label89:
        if $i0 == 89 goto label02;

        if $i0 == 90 goto label90;

        if $i0 == 91 goto label02;

     label90:
        if $i0 == 93 goto label01;

        return;
    }

[Call Graph] For information on where the call graph may be incomplete, use the verbose option to the cg phase.
[Spark] Pointer Assignment Graph in 0.1 seconds.
[Spark] Type masks in 0.0 seconds.
[Spark] Pointer Graph simplified in 0.0 seconds.
[Spark] Propagation in 12.6 seconds.
[Spark] Solution found in 12.6 seconds.
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl... 
Transforming android.support.v4.app.ActionBarDrawerToggleHoneycomb... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat$AccessibilityRecordJellyBeanImpl... 
Transforming android.support.v4.widget.ContentLoadingProgressBar... 
Transforming android.support.v4.app.FragmentTabHost$SavedState$1... 
Transforming android.support.v4.app.BackStackRecord$Op... 
Transforming android.support.v4.view.MenuItemCompat$OnActionExpandListener... 
Transforming android.support.v4.app.FragmentTabHost$SavedState... 
Transforming com.example.tutorialapplication.BuildConfig... 
Transforming android.support.v4.content.LocalBroadcastManager$ReceiverRecord... 
Transforming android.support.v4.view.KeyEventCompat... 
Transforming android.support.v4.app.ListFragment$2... 
Transforming android.support.v4.app.ListFragment$1... 
Transforming android.support.v4.util.MapCollections$MapIterator... 
Transforming android.support.v4.widget.CursorAdapter$ChangeObserver... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat$AccessibilityRecordImpl... 
Transforming android.support.v4.app.ShareCompat$IntentBuilder... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl... 
Transforming android.support.v4.widget.PopupMenuCompatKitKat... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicInternal... 
Transforming android.support.v4.view.MenuItemCompat$BaseMenuVersionImpl... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatIcsImpl... 
Transforming com.example.tutorialapplication.R$style... 
Transforming android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImplBase$GestureHandler... 
Transforming android.support.v4.app.LoaderManager... 
Transforming android.support.v4.util.DebugUtils... 
Transforming android.support.v4.widget.ScrollerCompatIcs... 
Transforming android.support.v4.view.KeyEventCompat$HoneycombKeyEventVersionImpl... 
Transforming android.support.v4.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider... 
Transforming android.support.v4.content.Loader$ForceLoadContentObserver... 
Transforming android.support.v4.widget.DrawerLayout$SavedState... 
Transforming android.support.v4.media.TransportMediatorJellybeanMR2$1... 
Transforming android.support.v4.app.DialogFragment... 
Transforming android.support.v4.media.TransportMediatorJellybeanMR2$2... 
Transforming android.support.v4.media.TransportMediatorJellybeanMR2$3... 
Transforming android.support.v4.media.TransportMediatorJellybeanMR2$4... 
Transforming android.support.v4.view.MenuItemCompat$HoneycombMenuVersionImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityEventCompat$AccessibilityEventVersionImpl... 
Transforming android.support.v4.media.TransportMediator... 
Transforming android.support.v4.app.ShareCompat$ShareCompatImplJB... 
Transforming android.support.v4.view.MenuItemCompat... 
Transforming android.support.v4.app.NotificationCompat$NotificationCompatImplIceCreamSandwich... 
Transforming android.support.v4.app.NotificationCompat$BigPictureStyle... 
Transforming android.support.v4.app.TaskStackBuilderHoneycomb... 
Transforming android.support.v4.app.TaskStackBuilderJellybean... 
Transforming android.support.v4.hardware.display.DisplayManagerCompat$JellybeanMr1Impl... 
Transforming android.support.v4.content.FileProvider$SimplePathStrategy... 
Transforming android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImplBase... 
Transforming android.support.v4.net.TrafficStatsCompat$BaseTrafficStatsCompatImpl$1... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompatJellyBean... 
Transforming android.support.v4.app.FragmentTransaction... 
Transforming android.support.v4.app.NotificationCompatJellybean... 
Transforming android.support.v4.widget.ExploreByTouchHelper... 
Transforming android.support.v4.util.LogWriter... 
Transforming android.support.v4.app.FragmentActivity$2... 
Transforming android.support.v4.text.ICUCompat$ICUCompatImpl... 
Transforming android.support.v4.media.TransportController... 
Transforming android.support.v4.app.FragmentActivity$1... 
Transforming android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl... 
Transforming android.support.v4.util.ArrayMap$1... 
Transforming android.support.v4.view.ViewPager... 
Transforming android.support.v4.content.ContextCompatHoneycomb... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatKitKat$AccessibilityNodeInfoBridge... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderKitKatImpl... 
Transforming android.support.v4.content.IntentCompatIcsMr1... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateImpl... 
Transforming com.example.tutorialapplication.R$drawable... 
Transforming android.support.v4.widget.EdgeEffectCompat$BaseEdgeEffectImpl... 
Transforming android.support.v4.content.Loader... 
Transforming android.support.v4.app.ShareCompat... 
Transforming android.support.v4.view.ViewPager$SimpleOnPageChangeListener... 
Transforming android.support.v4.view.ViewParentCompat$ViewParentCompatICSImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatJellyBean... 
Transforming android.support.v4.view.ScaleGestureDetectorCompat$1... 
Transforming android.support.v4.internal.view.SupportMenu... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatJellyBeanMr2... 
Transforming android.support.v4.widget.ListPopupWindowCompat$BaseListPopupWindowImpl... 
Transforming android.support.v4.net.ConnectivityManagerCompatGingerbread... 
Transforming android.support.v4.app.TaskStackBuilder$TaskStackBuilderImpl... 
Transforming android.support.v4.widget.ViewDragHelper$Callback... 
Transforming android.support.v4.content.FileProvider$PathStrategy... 
Transforming android.support.v4.widget.PopupMenuCompat$KitKatPopupMenuImpl... 
Transforming android.support.v4.app.Fragment$InstantiationException... 
Transforming android.support.v4.print.PrintHelperKitkat$1... 
Transforming android.support.v4.content.AsyncTaskLoader$LoadTask... 
Transforming android.support.v4.graphics.drawable.DrawableCompat$HoneycombDrawableImpl... 
Transforming android.support.v4.os.ParcelableCompatCreatorCallbacks... 
Transforming android.support.v4.app.NotificationCompat$NotificationCompatImpl... 
Transforming android.support.v4.app.ActivityCompatJB... 
Transforming com.example.tutorialapplication.R$string... 
Transforming android.support.v4.view.accessibility.AccessibilityEventCompatIcs... 
Transforming android.support.v4.app.FragmentActivity$FragmentTag... 
Transforming android.support.v4.content.IntentCompat... 
Transforming android.support.v4.widget.SearchViewCompat$OnQueryTextListenerCompat... 
Transforming android.support.v4.view.PagerTitleStrip$PagerTitleStripImpl... 
Transforming android.support.v4.widget.SearchViewCompatHoneycomb$OnCloseListenerCompatBridge... 
Transforming android.support.v4.hardware.display.DisplayManagerCompat$LegacyImpl... 
Transforming android.support.v4.view.MotionEventCompat$MotionEventVersionImpl... 
Transforming android.support.v4.view.ViewCompatHC... 
Transforming android.support.v4.graphics.drawable.DrawableCompatHoneycomb... 
Transforming android.support.v4.app.ActionBarDrawerToggle$ActionBarDrawerToggleImpl... 
Transforming com.example.tutorialapplication.R... 
Transforming android.support.v4.widget.CursorAdapter... 
Transforming android.support.v4.text.BidiFormatter$Builder... 
Transforming android.support.v4.widget.SlidingPaneLayout$AccessibilityDelegate... 
Transforming android.support.v4.app.FragmentTabHost$TabInfo... 
Transforming android.support.v4.app.NotificationCompat$NotificationCompatImplJellybean... 
Transforming android.support.v4.app.NotificationCompatHoneycomb... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatHoneycombImpl... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$1... 
Transforming android.support.v4.content.ModernAsyncTask$WorkerRunnable... 
Transforming android.support.v4.app.FragmentState$1... 
Transforming android.support.v4.view.ActionProvider$VisibilityListener... 
Transforming android.support.v4.widget.SlidingPaneLayout... 
Transforming android.support.v4.view.ViewConfigurationCompat$ViewConfigurationVersionImpl... 
Transforming android.support.v4.app.Fragment... 
Transforming android.support.v4.view.MotionEventCompat$BaseMotionEventVersionImpl... 
Transforming android.support.v4.view.PagerTitleStrip$1... 
Transforming android.support.v4.app.LoaderManagerImpl$LoaderInfo... 
Transforming android.support.v4.app.NavUtilsJB... 
Transforming android.support.v4.view.AccessibilityDelegateCompat... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat$AccessibilityRecordIcsMr1Impl... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateIcsImpl... 
Transforming android.support.v4.view.PagerTitleStrip$PageListener... 
Transforming android.support.v4.view.KeyEventCompat$EclairKeyEventVersionImpl... 
Transforming android.support.v4.view.MenuItemCompatIcs... 
Transforming android.support.v4.view.ViewCompat$EclairMr1ViewCompatImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat$AccessibilityManagerVersionImpl... 
Transforming android.support.v4.app.TaskStackBuilder$TaskStackBuilderImplJellybean... 
Transforming android.support.v4.content.ContextCompatKitKat... 
Transforming android.support.v4.widget.SearchViewCompat... 
Transforming android.support.v4.util.SparseArrayCompat... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompatIcs... 
Transforming android.support.v4.util.MapCollections$ValuesCollection... 
Transforming android.support.v4.view.ViewCompatKitKat... 
Transforming android.support.v4.view.MenuCompat... 
Transforming android.support.v4.app.NavUtils$NavUtilsImpl... 
Transforming android.support.v4.app.FragmentActivity... 
Transforming android.support.v4.content.LocalBroadcastManager$1... 
Transforming android.support.v4.net.ConnectivityManagerCompat... 
Transforming android.support.v4.view.ViewCompat$JBViewCompatImpl... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$FirstStrong... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatJellyBean$1... 
Transforming android.support.v4.view.ViewCompatJB... 
Transforming android.support.v4.widget.SimpleCursorAdapter... 
Transforming android.support.v4.app.ActionBarDrawerToggle$DelegateProvider... 
Transforming android.support.v4.view.MenuItemCompat$MenuVersionImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompatIcs$AccessibilityStateChangeListenerBridge... 
Transforming android.support.v4.view.ViewPager$3... 
Transforming android.support.v4.app.NavUtils... 
Transforming android.support.v4.view.ViewPager$2... 
Transforming android.support.v4.view.MenuItemCompat$IcsMenuVersionImpl$1... 
Transforming android.support.v4.view.ViewPager$1... 
Transforming android.support.v4.widget.ExploreByTouchHelper$1... 
Transforming android.support.v4.app.ActionBarDrawerToggle$ActionBarDrawerToggleImplHC... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl$1... 
Transforming android.support.v4.view.VelocityTrackerCompat$VelocityTrackerVersionImpl... 
Transforming android.support.v4.app.ActivityOptionsCompat... 
Transforming android.support.v4.content.LocalBroadcastManager$BroadcastRecord... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompatIcs... 
Transforming android.support.v4.app.NavUtils$NavUtilsImplJB... 
Transforming android.support.v4.view.ViewGroupCompat... 
Transforming android.support.v4.view.ViewPager$MyAccessibilityDelegate... 
Transforming android.support.v4.view.AccessibilityDelegateCompatJellyBean$AccessibilityDelegateBridgeJellyBean... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl... 
Transforming android.support.v4.widget.SearchViewCompatIcs$MySearchView... 
Transforming com.example.tutorialapplication.R$menu... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoStubImpl... 
Transforming android.support.v4.widget.ScrollerCompatGingerbread... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat... 
Transforming android.support.v4.view.AccessibilityDelegateCompatIcs... 
Transforming android.support.v4.text.ICUCompat... 
Transforming android.support.v4.graphics.drawable.DrawableCompat$BaseDrawableImpl... 
Transforming android.support.v4.media.TransportMediatorCallback... 
Transforming android.support.v4.app.ServiceCompat... 
Transforming android.support.v4.view.PagerAdapter... 
Transforming android.support.v4.widget.PopupMenuCompat$BasePopupMenuImpl... 
Transforming android.support.v4.app.ShareCompatICS... 
Transforming android.support.v4.app.ActivityOptionsCompatJB... 
Transforming android.support.v4.widget.SlidingPaneLayout$SavedState$1... 
Transforming android.support.v4.util.AtomicFile... 
Transforming android.support.v4.app.NotificationCompat$NotificationCompatImplHoneycomb... 
Transforming android.support.v4.view.AccessibilityDelegateCompatJellyBean$1... 
Transforming android.support.v4.widget.SlidingPaneLayout$LayoutParams... 
Transforming android.support.v4.widget.PopupMenuCompat$PopupMenuImpl... 
Transforming android.support.v4.os.EnvironmentCompatKitKat... 
Transforming android.support.v4.widget.EdgeEffectCompat... 
Transforming android.support.v4.content.ModernAsyncTask$Status... 
Transforming android.support.v4.view.GravityCompatJellybeanMr1... 
Transforming android.support.v4.view.AccessibilityDelegateCompatJellyBean... 
Transforming android.support.v4.widget.AutoScrollHelper... 
Transforming android.support.v4.content.ModernAsyncTask... 
Transforming android.support.v4.view.ViewPager$PageTransformer... 
Transforming android.support.v4.widget.DrawerLayout$SavedState$1... 
Transforming android.support.v4.app.FragmentManager$BackStackEntry... 
Transforming android.support.v4.widget.SlidingPaneLayout$1... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat$AccessibilityManagerIcsImpl$1... 
Transforming android.support.v4.view.ScaleGestureDetectorCompat$ScaleGestureDetectorCompatKitKatImpl... 
Transforming android.support.v4.view.ViewGroupCompat$ViewGroupCompatImpl... 
Transforming android.support.v4.print.PrintHelper$PrintHelperStubImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoImpl... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl... 
Transforming android.support.v4.net.ConnectivityManagerCompatJellyBean... 
Transforming android.support.v4.view.PagerTitleStripIcs$SingleLineAllCapsTransform... 
Transforming android.support.v4.net.ConnectivityManagerCompat$JellyBeanConnectivityManagerCompatImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityEventCompat... 
Transforming android.support.v4.net.TrafficStatsCompat$1... 
Transforming android.support.v4.app.FragmentState... 
Transforming android.support.v4.app.ActionBarDrawerToggle$SlideDrawable... 
Transforming android.support.v4.view.KeyEventCompatHoneycomb... 
Transforming android.support.v4.view.GravityCompat$GravityCompatImplJellybeanMr1... 
Transforming android.support.v4.content.ModernAsyncTask$4... 
Transforming android.support.v4.view.accessibility.AccessibilityEventCompat$AccessibilityEventIcsImpl... 
Transforming android.support.v4.content.ModernAsyncTask$3... 
Transforming android.support.v4.content.ModernAsyncTask$2... 
Transforming android.support.v4.content.ModernAsyncTask$1... 
Transforming android.support.v4.util.MapCollections... 
Transforming android.support.v4.text.BidiFormatter$DirectionalityEstimator... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoIcsImpl... 
Transforming android.support.v4.view.ViewConfigurationCompat... 
Transforming android.support.v4.view.ActionProvider... 
Transforming android.support.v4.widget.ViewDragHelper... 
Transforming android.support.v4.util.LruCache... 
Transforming android.support.v4.app.FragmentManagerImpl... 
Transforming android.support.v4.view.ViewGroupCompatHC... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompatKitKat... 
Transforming android.support.v4.widget.DrawerLayout$DrawerListener... 
Transforming android.support.v4.database.DatabaseUtilsCompat... 
Transforming android.support.v4.app.NotificationCompat$Builder... 
Transforming android.support.v4.app.ShareCompat$ShareCompatImpl... 
Transforming android.support.v4.app.LoaderManagerImpl... 
Transforming android.support.v4.os.ParcelableCompatCreatorHoneycombMR2... 
Transforming android.support.v4.app.ListFragment... 
Transforming android.support.v4.view.ViewCompat... 
Transforming android.support.v4.widget.EdgeEffectCompat$EdgeEffectImpl... 
Transforming android.support.v4.content.ContextCompat... 
Transforming android.support.v4.internal.view.SupportSubMenu... 
Transforming android.support.v4.view.ViewGroupCompat$ViewGroupCompatJellybeanMR2Impl... 
Transforming android.support.v4.app.FragmentTabHost$DummyTabFactory... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat$AccessibilityRecordStubImpl... 
Transforming android.support.v4.view.MarginLayoutParamsCompatJellybeanMr1... 
Transforming android.support.v4.view.ViewCompat$ICSViewCompatImpl... 
Transforming com.example.tutorialapplication.TutorialMainActivity$1... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderKitKatImpl$1... 
Transforming android.support.v4.widget.DrawerLayout$AccessibilityDelegate... 
Transforming android.support.v4.util.MapCollections$EntrySet... 
Transforming android.support.v4.widget.CursorFilter$CursorFilterClient... 
Transforming android.support.v4.content.FileProvider... 
Transforming android.support.v4.widget.ScrollerCompat$ScrollerCompatImplIcs... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat... 
Transforming android.support.v4.widget.ContentLoadingProgressBar$1... 
Transforming android.support.v4.app.ActivityCompatHoneycomb... 
Transforming android.support.v4.widget.ContentLoadingProgressBar$2... 
Transforming android.support.v4.net.TrafficStatsCompat$BaseTrafficStatsCompatImpl... 
Transforming android.support.v4.print.PrintHelperKitkat... 
Transforming android.support.v4.content.IntentCompatHoneycomb... 
Transforming android.support.v4.view.ViewGroupCompatIcs... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateStubImpl... 
Transforming android.support.v4.print.PrintHelper... 
Transforming android.support.v4.app.NotificationCompat$BigTextStyle... 
Transforming android.support.v4.media.TransportPerformer... 
Transforming android.support.v4.view.AccessibilityDelegateCompatIcs$AccessibilityDelegateBridge... 
Transforming android.support.v4.view.ViewParentCompatICS... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderImpl... 
Transforming android.support.v4.view.GestureDetectorCompat... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompatIcsMr1... 
Transforming android.support.v4.widget.SimpleCursorAdapter$CursorToStringConverter... 
Transforming android.support.v4.widget.SearchViewCompat$OnCloseListenerCompat... 
Transforming android.support.v4.app.FragmentStatePagerAdapter... 
Transforming android.support.v4.view.ViewCompat$JbMr1ViewCompatImpl... 
Transforming android.support.v4.view.ScaleGestureDetectorCompat$BaseScaleGestureDetectorImpl... 
Transforming android.support.v4.view.ViewPager$OnPageChangeListener... 
Transforming android.support.v4.widget.SearchViewCompatHoneycomb$OnQueryTextListenerCompatBridge... 
Transforming android.support.v4.widget.ListPopupWindowCompat$KitKatListPopupWindowImpl... 
Transforming android.support.v4.print.PrintHelper$PrintHelperKitkatImpl... 
Transforming android.support.v4.content.ContextCompatJellybean... 
Transforming android.support.v4.widget.ListPopupWindowCompat... 
Transforming android.support.v4.view.GravityCompat$GravityCompatImplBase... 
Transforming android.support.v4.widget.CursorAdapter$MyDataSetObserver... 
Transforming android.support.v4.app.ShareCompat$ShareCompatImplBase... 
Transforming android.support.v4.view.ScaleGestureDetectorCompat$ScaleGestureDetectorImpl... 
Transforming android.support.v4.net.TrafficStatsCompat$BaseTrafficStatsCompatImpl$SocketTags... 
Transforming android.support.v4.view.PagerTitleStrip$PagerTitleStripImplIcs... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompatJellybeanMr2... 
Transforming android.support.v4.widget.SearchViewCompatHoneycomb$2... 
Transforming android.support.v4.widget.SearchViewCompatHoneycomb$1... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderJellyBeanImpl... 
Transforming android.support.v4.app.FragmentTabHost... 
Transforming android.support.v4.content.IntentCompat$IntentCompatImplHC... 
Transforming android.support.v4.content.IntentCompat$IntentCompatImplIcsMr1... 
Transforming android.support.v4.view.KeyEventCompat$KeyEventVersionImpl... 
Transforming android.support.v4.app.ShareCompat$IntentReader... 
Transforming android.support.v4.view.ViewCompat$BaseViewCompatImpl... 
Transforming android.support.v4.app.ShareCompatJB... 
Transforming android.support.v4.view.MotionEventCompatEclair... 
Transforming android.support.v4.view.PagerTitleStripIcs... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat$AccessibilityManagerIcsImpl... 
Transforming android.support.v4.view.MarginLayoutParamsCompat$MarginLayoutParamsCompatImplJbMr1... 
Transforming android.support.v4.view.MarginLayoutParamsCompat$MarginLayoutParamsCompatImpl... 
Transforming android.support.v4.view.ViewCompatGingerbread... 
Transforming android.support.v4.view.ViewPager$LayoutParams... 
Transforming android.support.v4.widget.SlidingPaneLayout$SlidingPanelLayoutImplJB... 
Transforming android.support.v4.view.ViewGroupCompat$ViewGroupCompatIcsImpl... 
Transforming android.support.v4.view.ViewConfigurationCompatFroyo... 
Transforming android.support.v4.widget.ResourceCursorAdapter... 
Transforming android.support.v4.view.MenuItemCompatIcs$OnActionExpandListenerWrapper... 
Transforming android.support.v4.view.VelocityTrackerCompat$BaseVelocityTrackerVersionImpl... 
Transforming android.support.v4.widget.DrawerLayout$SimpleDrawerListener... 
Transforming android.support.v4.view.MarginLayoutParamsCompat$MarginLayoutParamsCompatImplBase... 
Transforming com.example.tutorialapplication.R$layout... 
Transforming android.support.v4.widget.SlidingPaneLayout$SimplePanelSlideListener... 
Transforming android.support.v4.view.ScaleGestureDetectorCompatKitKat... 
Transforming android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImpl... 
Transforming android.support.v4.widget.EdgeEffectCompatIcs... 
Transforming android.support.v4.util.TimeUtils... 
Transforming android.support.v4.app.SuperNotCalledException... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompat$AccessibilityRecordIcsImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatJellyBean$AccessibilityNodeInfoBridge... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatImpl... 
Transforming android.support.v4.content.AsyncTaskLoader... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderStubImpl... 
Transforming android.support.v4.view.ViewGroupCompatJellybeanMR2... 
Transforming android.support.v4.view.ViewGroupCompat$ViewGroupCompatStubImpl... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionAlgorithm... 
Transforming android.support.v4.widget.ScrollerCompat... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat$AccessibilityServiceInfoJellyBeanMr2... 
Transforming android.support.v4.view.ViewPager$SavedState... 
Transforming android.support.v4.app.Fragment$SavedState$1... 
Transforming android.support.v4.net.ConnectivityManagerCompat$BaseConnectivityManagerCompatImpl... 
Transforming android.support.v4.widget.SlidingPaneLayout$SavedState... 
Transforming android.support.v4.app.BackStackState$1... 
Transforming android.support.v4.view.ViewCompatEclairMr1... 
Transforming android.support.v4.util.MapCollections$ArrayIterator... 
Transforming android.support.v4.view.ViewCompat$GBViewCompatImpl... 
Transforming android.support.v4.util.SimpleArrayMap... 
Transforming android.support.v4.content.pm.ActivityInfoCompat... 
Transforming com.example.tutorialapplication.R$id... 
Transforming android.support.v4.app.LoaderManager$LoaderCallbacks... 
Transforming android.support.v4.view.ViewCompat$ViewCompatImpl... 
Transforming android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl... 
Transforming android.support.v4.app.FragmentManagerImpl$4... 
Transforming android.support.v4.app.FragmentManagerImpl$5... 
Transforming android.support.v4.media.TransportStateListener... 
Transforming android.support.v4.app.FragmentManagerImpl$2... 
Transforming android.support.v4.app.FragmentManagerImpl$3... 
Transforming android.support.v4.app.TaskStackBuilder... 
Transforming android.support.v4.app.FragmentManagerImpl$1... 
Transforming android.support.v4.app.FragmentManager$OnBackStackChangedListener... 
Transforming android.support.v4.widget.SearchViewCompatHoneycomb... 
Transforming android.support.v4.view.ViewParentCompat... 
Transforming android.support.v4.os.ParcelableCompat$CompatCreator... 
Transforming android.support.v4.net.TrafficStatsCompat$IcsTrafficStatsCompatImpl... 
Transforming android.support.v4.net.TrafficStatsCompat... 
Transforming android.support.v4.view.MenuItemCompatHoneycomb... 
Transforming android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateIcsImpl$1... 
Transforming android.support.v4.app.TaskStackBuilder$SupportParentable... 
Transforming android.support.v4.content.ModernAsyncTask$InternalHandler... 
Transforming android.support.v4.app.FragmentContainer... 
Transforming android.support.v4.app.Fragment$SavedState... 
Transforming android.support.v4.util.ArrayMap... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicLocale... 
Transforming android.support.v4.widget.CursorAdapter$1... 
Transforming android.support.v4.widget.SlidingPaneLayout$SlidingPanelLayoutImplJBMR1... 
Transforming android.support.v4.view.ViewPager$OnAdapterChangeListener... 
Transforming android.support.v4.content.LocalBroadcastManager... 
Transforming android.support.v4.text.TextDirectionHeuristicCompat... 
Transforming android.support.v4.widget.ViewDragHelper$1... 
Transforming android.support.v4.widget.ViewDragHelper$2... 
Transforming android.support.v4.content.CursorLoader... 
Transforming android.support.v4.graphics.drawable.DrawableCompat$DrawableImpl... 
Transforming android.support.v4.app.FragmentManager... 
Transforming android.support.v4.view.ViewCompat$KitKatViewCompatImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListenerCompat... 
Transforming android.support.v4.view.ViewConfigurationCompat$BaseViewConfigurationVersionImpl... 
Transforming android.support.v4.content.ContextCompatFroyo... 
Transforming android.support.v4.print.PrintHelper$PrintHelperVersionImpl... 
Transforming android.support.v4.app.FragmentManagerState... 
Transforming android.support.v4.view.MenuItemCompat$IcsMenuVersionImpl... 
Transforming com.example.tutorialapplication.R$attr... 
Transforming android.support.v4.internal.view.SupportMenuItem... 
Transforming android.support.v4.os.ParcelableCompat... 
Transforming android.support.v4.view.ViewPager$PagerObserver... 
Transforming android.support.v4.widget.DrawerLayout$ViewDragCallback$1... 
Transforming android.support.v4.app.FragmentTabHost$1... 
Transforming android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs... 
Transforming android.support.v4.text.BidiFormatter$1... 
Transforming android.support.v4.view.PagerTitleStrip... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompatIcs$1... 
Transforming android.support.v4.view.PagerTitleStrip$PagerTitleStripImplBase... 
Transforming android.support.v4.view.MenuItemCompatIcs$SupportActionExpandProxy... 
Transforming android.support.v4.net.TrafficStatsCompatIcs... 
Transforming android.support.v4.hardware.display.DisplayManagerCompat... 
Transforming android.support.v4.graphics.drawable.DrawableCompatKitKat... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatKitKat... 
Transforming android.support.v4.app.NotificationCompatIceCreamSandwich... 
Transforming android.support.v4.content.IntentCompat$IntentCompatImplBase... 
Transforming android.support.v4.view.GravityCompat$GravityCompatImpl... 
Transforming android.support.v4.net.TrafficStatsCompat$TrafficStatsCompatImpl... 
Transforming android.support.v4.os.ParcelableCompatCreatorHoneycombMR2Stub... 
Transforming android.support.v4.app.NotificationCompat$InboxStyle... 
Transforming android.support.v4.view.VelocityTrackerCompat... 
Transforming android.support.v4.widget.PopupMenuCompat... 
Transforming android.support.v4.content.Loader$OnLoadCompleteListener... 
Transforming android.support.v4.net.ConnectivityManagerCompat$HoneycombMR2ConnectivityManagerCompatImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompatKitKat$1... 
Transforming android.support.v4.view.PagerTabStrip... 
Transforming android.support.v4.app.ActivityOptionsCompat$ActivityOptionsImplJB... 
Transforming android.support.v4.view.KeyEventCompat$BaseKeyEventVersionImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoKitKatImpl... 
Transforming android.support.v4.app.Fragment$1... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoJellybeanMr2Impl... 
Transforming android.support.v4.widget.ScrollerCompat$ScrollerCompatImplGingerbread... 
Transforming android.support.v4.app.NotificationCompat... 
Transforming android.support.v4.widget.ScrollerCompat$ScrollerCompatImpl... 
Transforming android.support.v4.widget.SlidingPaneLayout$PanelSlideListener... 
Transforming android.support.v4.view.ViewPager$SavedState$1... 
Transforming android.support.v4.media.TransportMediator$2... 
Transforming android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo... 
Transforming android.support.v4.util.ContainerHelpers... 
Transforming android.support.v4.view.ScaleGestureDetectorCompat... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat... 
Transforming android.support.v4.media.TransportMediator$1... 
Transforming android.support.v4.app.ActionBarDrawerToggle... 
Transforming android.support.v4.view.PagerTabStrip$1... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl... 
Transforming android.support.v4.view.PagerTabStrip$2... 
Transforming android.support.v4.view.ViewCompatJellybeanMr1... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityNodeInfoJellybeanImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityRecordCompatJellyBean... 
Transforming android.support.v4.view.ViewCompat$HCViewCompatImpl... 
Transforming android.support.v4.widget.ListViewAutoScrollHelper... 
Transforming android.support.v4.view.ViewCompatICS... 
Transforming android.support.v4.net.ConnectivityManagerCompat$ConnectivityManagerCompatImpl... 
Transforming android.support.v4.view.WindowCompat... 
Transforming android.support.v4.graphics.drawable.DrawableCompat... 
Transforming android.support.v4.widget.CursorFilter... 
Transforming android.support.v4.content.ModernAsyncTask$AsyncTaskResult... 
Transforming android.support.v4.widget.ListPopupWindowCompat$ListPopupWindowImpl... 
Transforming android.support.v4.view.GravityCompat... 
Transforming android.support.v4.view.MotionEventCompat... 
Transforming android.support.v4.view.ViewPager$Decor... 
Transforming android.support.v4.widget.DrawerLayout$LayoutParams... 
Transforming com.example.tutorialapplication.R$dimen... 
Transforming android.support.v4.app.ActivityCompat... 
Transforming android.support.v4.widget.AutoScrollHelper$ScrollAnimationRunnable... 
Transforming android.support.v4.app.NotificationCompat$NotificationCompatImplBase... 
Transforming android.support.v4.view.VelocityTrackerCompatHoneycomb... 
Transforming android.support.v4.widget.DrawerLayout... 
Transforming android.support.v4.app.FragmentPagerAdapter... 
Transforming android.support.v4.view.ViewPager$ViewPositionComparator... 
Transforming android.support.v4.widget.DrawerLayout$ViewDragCallback... 
Transforming android.support.v4.content.IntentCompat$IntentCompatImpl... 
Transforming android.support.v4.widget.SlidingPaneLayout$DragHelperCallback... 
Transforming android.support.v4.view.ActionProvider$SubUiVisibilityListener... 
Transforming android.support.v4.app.TaskStackBuilder$TaskStackBuilderImplBase... 
Transforming android.support.v4.app.TaskStackBuilder$TaskStackBuilderImplHoneycomb... 
Transforming android.support.v4.view.KeyEventCompatEclair... 
Transforming android.support.v4.view.AccessibilityDelegateCompatIcs$1... 
Transforming android.support.v4.print.PrintHelper$1... 
Transforming android.support.v4.view.VelocityTrackerCompat$HoneycombVelocityTrackerVersionImpl... 
Transforming android.support.v4.media.TransportMediatorJellybeanMR2... 
Transforming android.support.v4.widget.ListPopupWindowCompatKitKat... 
Transforming android.support.v4.app.NoSaveStateFrameLayout... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat... 
Transforming android.support.v4.widget.SimpleCursorAdapter$ViewBinder... 
Transforming android.support.v4.net.ConnectivityManagerCompat$GingerbreadConnectivityManagerCompatImpl... 
Transforming android.support.v4.view.GestureDetectorCompat$GestureDetectorCompatImplJellybeanMr2... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat$AnyStrong... 
Transforming android.support.v4.net.ConnectivityManagerCompatHoneycombMR2... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeInfoCompatIcs... 
Transforming android.support.v4.text.ICUCompat$ICUCompatImplIcs... 
Transforming android.support.v4.app.BackStackState... 
Transforming android.support.v4.view.accessibility.AccessibilityManagerCompat$AccessibilityManagerStubImpl... 
Transforming android.support.v4.app.ShareCompat$ShareCompatImplICS... 
Transforming android.support.v4.widget.SearchViewCompatIcs... 
Transforming android.support.v4.text.ICUCompat$ICUCompatImplBase... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatStubImpl... 
Transforming android.support.v4.app.FragmentActivity$NonConfigurationInstances... 
Transforming android.support.v4.widget.SlidingPaneLayout$SlidingPanelLayoutImplBase... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatHoneycombImpl$1... 
Transforming android.support.v4.view.ViewParentCompat$ViewParentCompatImpl... 
Transforming android.support.v4.widget.SearchViewCompat$SearchViewCompatHoneycombImpl$2... 
Transforming android.support.v4.app.NotificationCompat$Action... 
Transforming android.support.v4.app.ActionBarDrawerToggle$Delegate... 
Transforming android.support.v4.util.MapCollections$KeySet... 
Transforming android.support.v4.text.ICUCompatIcs... 
Transforming android.support.v4.widget.SlidingPaneLayout$SlidingPanelLayoutImpl... 
Transforming android.support.v4.graphics.drawable.DrawableCompat$KitKatDrawableImpl... 
Transforming android.support.v4.widget.AutoScrollHelper$ClampedScroller... 
Transforming android.support.v4.view.ViewParentCompat$ViewParentCompatStubImpl... 
Transforming android.support.v4.view.accessibility.AccessibilityEventCompat$AccessibilityEventStubImpl... 
Transforming android.support.v4.text.TextUtilsCompat... 
Transforming android.support.v4.app.FragmentManagerState$1... 
Transforming android.support.v4.widget.AutoScrollHelper$1... 
Transforming android.support.v4.view.ViewGroupCompat$ViewGroupCompatHCImpl... 
Transforming android.support.v4.widget.ScrollerCompat$ScrollerCompatImplBase... 
Transforming android.support.v4.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderJellyBeanImpl$1... 
Transforming android.support.v4.hardware.display.DisplayManagerJellybeanMr1... 
Transforming android.support.v4.app.ActionBarDrawerToggle$ActionBarDrawerToggleImplBase... 
Transforming android.support.v4.os.EnvironmentCompat... 
Transforming android.support.v4.app.NavUtils$NavUtilsImplBase... 
Transforming android.support.v4.content.WakefulBroadcastReceiver... 
Transforming android.support.v4.app.BackStackRecord... 
Transforming android.support.v4.text.TextDirectionHeuristicsCompat... 
Transforming android.support.v4.view.MarginLayoutParamsCompat... 
Transforming android.support.v4.widget.SlidingPaneLayout$DisableLayerRunnable... 
Transforming android.support.v4.text.BidiFormatter... 
Transforming android.support.v4.view.ViewPager$ItemInfo... 
Transforming android.support.v4.app.ActionBarDrawerToggle$1... 
Transforming android.support.v4.app.NotificationCompat$Style... 
Transforming android.support.v4.util.LongSparseArray... 
Transforming android.support.v4.view.ViewConfigurationCompat$FroyoViewConfigurationVersionImpl... 
Transforming dummyMainClass... 
Transforming com.example.tutorialapplication.TutorialMainActivity... 
36298


More information about the Soot-list mailing list