<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Sanjay,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>That is correct. Soot has no components for processing Android layout files. If you want to work with Android apps in an analysis based on Soot, you can make use of the FlowDroid parser components included in the soot-infoflow-android project. The FlowDroid project, however, works on compiled APK files, not on the original source files. Generally, Soot’s bytecode / dex code front end is much more stale and up-to-date than the front end for Java source code.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><br>What exactly are you trying to do?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> Steven<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> soot-list-bounces@CS.McGill.CA [mailto:soot-list-bounces@CS.McGill.CA] <b>Im Auftrag von </b>Sanjay Thakur<br><b>Gesendet:</b> Samstag, 13. Juni 2015 00:59<br><b>An:</b> soot-list@CS.McGill.CA<br><b>Betreff:</b> [Soot-list] Soot not able to process the source code of android applications<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Hello all,<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>I have been trying to analyze the source code of Android applications. The soot is not able to reference and process the non-java components (which are actually the xml components) like the TextView and the layout file. I have tried using the exclude list with "R." but got no success. Here is my sample code:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_android_jars(pathToAndroidJarForSoot);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_soot_classpath("/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/home/sanjay/Android/Sdk/platforms/android-21/android.jar");<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_src_prec(Options.src_prec_java);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_allow_phantom_refs(true);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>List<String> excludeList = new LinkedList<String>();<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>excludeList.add("R.");<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_exclude(excludeList);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_no_bodies_for_excluded(true);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_process_dir(Collections.singletonList(pathToDirectory));<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>Options.v().set_whole_program(true);<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>......<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>......<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>The errors look like the following<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:17,24:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>soot.CompilationDeathException: there were errors during parsing and/or type checking (JastAdd frontend)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: R.layout not found<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.JastAddInitialResolver.formAst(JastAddInitialResolver.java:63)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:17,33:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.JavaClassSource.resolve(JavaClassSource.java:54)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: no field named activity_main is accessible<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.SootResolver.bringToHierarchy(SootResolver.java:230)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:18,43:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.SootResolver.bringToSignatures(SootResolver.java:255)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: R.id not found<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.SootResolver.bringToBodies(SootResolver.java:291)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:18,48:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.SootResolver.processResolveWorklist(SootResolver.java:165)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: no field named tvMessage is accessible<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.SootResolver.resolveClass(SootResolver.java:130)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:26,35:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.Scene.loadClass(Scene.java:693)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: R.menu not found<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.Scene.loadClassAndSupport(Scene.java:678)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:26,42:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at soot.Scene.loadNecessaryClasses(Scene.java:1351)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: no field named menu_main is accessible<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at paprika.analyzer.SootAnalyzer.init(SootAnalyzer.java:82)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:38,19:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at paprika.Main.runAnalysis(Main.java:112)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: R.id not found<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at paprika.Main.main(Main.java:79)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:38,24:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'> Semantic Error: no field named action_settings is accessible<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at java.lang.reflect.Method.invoke(Method.java:606)<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:19.8pt'><span style='font-size:10.0pt;font-family:"Helvetica","sans-serif";color:#212121'>at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <o:p></o:p></p><div><div><div><div><div><p class=MsoNormal><span style='font-size:10.0pt;color:#888888'>Sanjay Thakur</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;color:#888888'>Research Intern</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;color:#888888'>UQAM</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;color:#888888'>Montreal, Canada</span><o:p></o:p></p></div></div></div></div></div></div></div></body></html>