<div dir="ltr"><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Hello all,</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">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 &quot;R.&quot; but got no success. Here is my sample code:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><br></div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_android_jars(pathToAndroidJarForSoot);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_soot_classpath(&quot;/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&quot;);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_src_prec(Options.src_prec_java);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_allow_phantom_refs(true);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">List&lt;String&gt; excludeList = new LinkedList&lt;String&gt;();</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">excludeList.add(&quot;R.&quot;);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_exclude(excludeList);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_no_bodies_for_excluded(true);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_process_dir(Collections.singletonList(pathToDirectory));</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">Options.v().set_whole_program(true);</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">......</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">......</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><br></div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><br></div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><br></div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">The errors look like the following</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:17,24:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">soot.CompilationDeathException: there were errors during parsing and/or type checking (JastAdd frontend)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: R.layout not found</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.JastAddInitialResolver.formAst(JastAddInitialResolver.java:63)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:17,33:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.JavaClassSource.resolve(JavaClassSource.java:54)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: no field named activity_main is accessible</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToHierarchy(SootResolver.java:230)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:18,43:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToSignatures(SootResolver.java:255)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: R.id not found</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.SootResolver.bringToBodies(SootResolver.java:291)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:18,48:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.SootResolver.processResolveWorklist(SootResolver.java:165)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: no field named tvMessage is accessible</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.SootResolver.resolveClass(SootResolver.java:130)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:26,35:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.Scene.loadClass(Scene.java:693)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: R.menu not found</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.Scene.loadClassAndSupport(Scene.java:678)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:26,42:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at soot.Scene.loadNecessaryClasses(Scene.java:1351)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: no field named menu_main is accessible</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at paprika.analyzer.SootAnalyzer.init(SootAnalyzer.java:82)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:38,19:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at paprika.Main.runAnalysis(Main.java:112)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: R.id not found</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at paprika.Main.main(Main.java:79)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">/home/sanjay/Documents/UQAM/sourcesNapks/ForSoot/app/src/main/java/forsoot/com/forsoot/MainActivity.java:38,24:</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px">  Semantic Error: no field named action_settings is accessible</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at java.lang.reflect.Method.invoke(Method.java:606)</div><div style="color:rgb(33,33,33);font-family:&#39;Helvetica Neue&#39;,Helvetica,Arial,sans-serif;font-size:13.1999998092651px;line-height:26.3999996185303px"><span style="white-space:pre-wrap">        </span>at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><span style="color:rgb(136,136,136);font-size:13.3333339691162px">Sanjay Thakur</span></div><div><font color="#888888"><span style="font-size:13.3333330154419px">Research Intern</span></font></div><div><font color="#888888"><span style="font-size:13.3333330154419px">UQAM</span></font></div><div><font color="#888888"><span style="font-size:13.3333330154419px">Montreal, Canada</span></font></div></div></div></div></div>
</div>