0

我正在尝试基于污点分析在 android 应用程序中测试广播接收器组件。但是,当我使用 frowdroid 测试相关应用程序时,它显示:

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()方法没有任何问题。有人可以帮忙吗?

4

1 回答 1

0

问题解决了,如果有其他人有同样的问题java.lang.NoSuchMethodError: soot.jimple.infoflow.results.InfoflowResults.getResults()Ljava/util/Map

  1. 如果您使用的是夜间版本,请确保这是从主页下载的最新 jar 文件。
  2. 确保 jar 文件没有直接从主页服务器损坏。

通常情况下,如果环境设置正确,flowdroid 应该可以在 nightly jar 文件下运行。

于 2015-09-22T16:34:50.320 回答