<div dir="ltr">Thanks for the quick action, Steve. <div><br></div><div>Sorry for providing so many strange cases. Actually these are APKs of apps on Google Play Top 300. I think Google should upgrade the Android development toolchain to standardize the coding convention.<div><br></div><div>Thanks.</div><div><br></div><div><br></div><div><br></div><div>Best Regards,</div><div>R.F.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 5, 2015 at 8:36 PM, Steven Arzt <span dir="ltr">&lt;<a href="mailto:Steven.Arzt@cased.de" target="_blank">Steven.Arzt@cased.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hi,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><br>This is very strange. Your APK file contains classes that implement interfaces which are not actually interfaces, but proper classes. This should normally not be possible. Nevertheless, I have patched Soot to handle such cases. The code is on Github, a new nightly build will be available tomorrow.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Best regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">  Steven<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">Von:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> soot-list-bounces@CS.McGill</span><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">.CA [mailto:<a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a>] <b>Im Auftrag von </b>R.F.<br><b>Gesendet:</b> Dienstag, 4. August 2015 16:41<br><b>An:</b> <a href="mailto:soot-list@CS.McGill.CA" target="_blank">soot-list@CS.McGill.CA</a><br><b>Betreff:</b> [Soot-list] Null Pointer Exception when Creating Dummy Main Method for APK<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Hi,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">First of all, please forgive me for reporting so many issues with FlowDroid, since I am studying and testing it heavily recently as a newbie. To Steven and all the contributors of Soot, I cannot be more grateful. I&#39;m glad to see Soot keep getting better and better.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">I was analyzing  another APK using the given test class of FlowDroid.</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal"><a href="https://drive.google.com/file/d/0B0ceYAgUVEZbZmVmbnZWTEY5T0E/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B0ceYAgUVEZbZmVmbnZWTEY5T0E/view?usp=sharing</a><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">However, the following exception is thrown:</span><u></u><u></u></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span style="font-size:9.5pt">Exception in thread &quot;main&quot; java.lang.NullPointerException</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.Hierarchy.&lt;init&gt;(Hierarchy.java:128)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.Scene.getActiveHierarchy(Scene.java:957)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator.getComponentType(AndroidEntryPointCreator.java:448)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.entryPointCreators.AndroidEntryPointCreator.createDummyMainInternal(AndroidEntryPointCreator.java:180)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.entryPointCreators.BaseEntryPointCreator.createDummyMainInternal(BaseEntryPointCreator.java:122)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.entryPointCreators.BaseEntryPointCreator.createDummyMain(BaseEntryPointCreator.java:107)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.SetupApplication.createMainMethod(SetupApplication.java:598)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(SetupApplication.java:447)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:378)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.SetupApplication.calculateSourcesSinksEntrypoints(SetupApplication.java:344)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Test.java:521)</span><u></u><u></u></p></blockquote><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><span><span style="font-size:9.5pt">     </span></span><span style="font-size:9.5pt">at soot.jimple.infoflow.android.TestApps.Test.main(Test.java:215)</span><u></u><u></u></p></blockquote><div><p class="MsoNormal"><span style="font-size:9.5pt"><u></u> <u></u></span></p></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">My setup is the latest source code on the develop branch (or default branch on GitHub) of Jasmin (<a href="https://github.com/Sable/jasmin" target="_blank">https://github.com/Sable/jasmin</a>), Heros (<a href="https://github.com/Sable/heros" target="_blank">https://github.com/Sable/heros</a>), Soot (<a href="https://github.com/Sable/soot" target="_blank">https://github.com/Sable/soot</a>), Soot Infoflow (<a href="https://github.com/secure-software-engineering/soot-infoflow" target="_blank">https://github.com/secure-software-engineering/soot-infoflow</a>) and Soot Infoflow Android (<a href="https://github.com/secure-software-engineering/soot-infoflow-android" target="_blank">https://github.com/secure-software-engineering/soot-infoflow-android</a>). My arguments are &quot;/PATH/TO/APK /PATH/TO/android-platforms&quot;. The &quot;android-platform&quot; directory is also a clone of <a href="https://github.com/Sable/android-platforms" target="_blank">https://github.com/Sable/android-platforms</a>. The JRE used by Eclipse is Oracle Java 7 on Ubuntu 15.04 64-bit (/usr/lib/jvm/java-7-oracle).<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">Can you reproduce the issue?<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style="font-size:9.5pt">Thanks so much.</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Best Regards,<u></u><u></u></p></div><div><p class="MsoNormal">R.F. <u></u><u></u></p></div></div></div></div></div></div></blockquote></div><br></div>