FlowDroid安装及环境配置

FlowDroid安装及环境配置,第1张

概述FlowDroid安装我一定要安装好这个东西,别人的教程并不完全适用于我,这是属于我自己的教程。之前参考了很多很多博客,还是没有运行好。一气之下,重新安装。准备工作1、java环境(jdk_1.8.1_131)2、maven环境。(3.6.3) 3、FlowDroid源码下载下载最新的release版本,哦。也不是非 FlowDroID安装

我一定要安装好这个东西,别人的教程并不完全适用于我,这是属于我自己的教程。之前参考了很多很多博客,还是没有运行好。一气之下,重新安装。

准备工作1、java环境

(jdk_1.8.1_131)

2、maven环境。

(3.6.3)

 

3、FlowDroID源码下载

下载最新的release版本,哦。也不是非得下最新版的,有的最新版的可能开发人员还在开发,有一些小BUG,怎么出错的都不知道。关键是得看项目主页左上方是不是build passing,build failure就不要它了。

4、DroIDBench环境变量配置

 

5、AndroID_Jar环境变量配置

网上的配置五花八门,变量名有的是ANDROID_JAR,有的是ANDROID_JARS;啊,还有变量值,有的是指定到了目录下固定的androID.jar文件,有的是指定为包含androID.jar的一个文件夹。是不是很迷?

后来,在运行失败后,我找到了这个官方说法。

 

相应的环境变量设置如下,然后凑合能跑,虽然还有一堆error。

 

6、Eclipse 安装

(或Intellij IDEA,这里使用的是Eclipse)

FlowDroID配置1、导入soot-infoflow和soot-infoflow-androID两个项目

(Soot-infoflow是一个Java数据流分析模块,Soot-infoflow-androID则是将AndroID数据流分析转化为Java数据流分析的一个转化模块,均由Java编写)

file->import->general->existing projects into workspace->next->browse...

把那俩导进来就好了。有一堆错误,需要纠错。

 

别人的博客上说导入以上两个项目,还是会报错哎,当我的eclipse里面只有两个项目的时候。

 

原来还要把其余的几个项目(soot、heros、jasmin)也导入到eclipse里面。这个在FlowDroID的 issue #79 中有提到。

https://github.com/Sable/soot

https://github.com/Sable/heros

https://github.com/Sable/jasmin

在项目导入的前期可能会有好多的error提示,不要着急,耐心等待,eclipse还在building。

其中jasmin的pom.xml里的execution有问题,可以直接让eclipse帮我们改。我选了方法1,让它在本pom.xml文件中添加pluginManagement标签。

还有soot的Options.java有问题,不知道为什么git clone的时候没有克隆完全,后面的代码没在里面,我从github项目中对应文件中拷贝了内容,复制到本地。

至此,暂时是个只有warning的世界。

​​​​

2、更新soot-infoflow和soot-infoflow-androID配置

pom.xml文件重新配置

检查soot-infoflow和soot-infoflow-androID两个项目中的pom.xml文件的配置是否正确。

编译器版本为1.8 ;

maven输出路径改为target/classes和target/testclasses;

3、EasyTaintWrapperSource.txt

soot-infoflow-androID缺少的EasyTaintWrapperSource.txt文件可以直接从soot-infoflow文件中直接复制

4、编译soot-infoflow-androID

右键soot-infoflow-androID项目,选择Run As>Maven build编译项目,这里我直接默认直接下一步,因为我不知道要输入什么。

然后...额,就报错了

No goals have been specifIEd for this build. You must specify a valID lifecycle  phase or a goal in the format <plugin-prefix>:<goal> or  <plugin-group-ID>:<plugin-artifact-ID>[:<plugin-version>]:<goal>. Available  lifecycle phases are: valIDate, initialize, generate-sources, process-sources,  generate-resources, process-resources, compile, process-classes,  generate-test-sources, process-test-sources, generate-test-resources,  process-test-resources, test-compile, process-test-classes, test,  prepare-package, package, pre-integration-test, integration-test,  post-integration-test, verify, install, deploy, pre-clean, clean, post-clean,  pre-site, site, post-site, site-deploy. -> [Help 1]

于是我添加了这个。

<defaultGoal>compile</defaultGoal>

然后 继续 run as -> maven build 一路next,还是报错了。

Failed to execute goal  org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile)  on project soot-infoflow-androID: Compilation failure

[ERROR] No compiler is provIDed in this environment. Perhaps you are running on  a JRE rather than a JDK?

难道是java的环境没有配好?为什么之前测试maven的时候能运行呢?

参考博客,原因是我的应该指定为jdk的路径我指定为了jre。这俩是什么关系呢?

然后,我编译成功了!哈哈哈,记一下。

5、测试soot-infoflow-androID

run as -> maven test,emm...又报错了。

 

  

Failed to execute goal  org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on  project soot-infoflow-androID: There are test failures.

网上的解决办法是让这个goal跳过test,添加配置

<configuration>

      <skipTests>true</skipTests>

</configuration>

 

重新 maven test,啊妈呀,终于success了,鼓掌。

 

6、maven install

最后一步啦,run as -> maven install,这次比较顺利,success了。

 

啊哈哈哈,庆祝一下。

至此,终于把环境调好了,真正的如何使用FlowDroID我还是不知道,慢慢来。

后面要再发几篇技术博客!

参考了很多优秀博客(只记录了一部分):

最新版FlowDroid搭建教程

基于windows平台的FlowDroid搭建教程

【Android学习记录】:Flowdroid环境配置

Windows下eclipse中flowdroid的构建与运行

FlowDroid

etc.

总结

以上是内存溢出为你收集整理的FlowDroid安装及环境配置全部内容,希望文章能够帮你解决FlowDroid安装及环境配置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1004335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存