我正在尝试测试基于污染分析的android应用程序中的广播接收器组件。但是,当我使用皱眉id测试相关应用程序时,它显示:
Exception in thread "main" java.lang.NoSuchMethodError: soot.jimple.infoflow.results.InfoflowResults.getResults()Ljava/util/Map;
at soot.jimple.infoflow.android.TestApps.Test$MyResultsAvailableHandler.onResultsAvailable(Test.java:80)
at soot.jimple.infoflow.Infoflow.runAnalysis(Infoflow.java:415)
at soot.jimple.infoflow.Infoflow.computeInfoflow(Infoflow.java:137)
at soot.jimple.infoflow.android.SetupApplication.runInfoflow(SetupApplication.java:700)
at soot.jimple.infoflow.android.TestApps.Test.runAnalysis(Test.java:554)
at soot.jimple.infoflow.android.TestApps.Test.main(Test.java:217)
所有的jar文件都使用来自主页的最新夜间版本,但我真的不知道这种问题,因为我也检查了源代码,getResult()
方法没有任何问题。有人能帮忙吗?
问题解决了,如果还有其他的java.lang.NoSuchMethodError: soot.jimple.infoflow.results.InfoflowResults.getResults()Ljava/util/Map
有同样的问题。
- 如果您使用的是夜间版本,请确保这是从主页下载的最新jar文件。
- 确保jar文件没有从主页服务器直接损坏。
通常,如果环境设置正确,flowdroid应该可以在nightly jar文件下运行。