为了搭建flowdroid,踩了很多坑,记录下。
1、JDK一定要选择jdk1.8以上的版本,选择最新或者较新的eclipse,这样就会内嵌maven环境;
2、安装相关插件,因为导入flowdroid项目时,总会遇到各种各样的问题,比如依赖的jar包不存在又下载不到,或者时pom文件报错,后来安装了很多插件才解决问题(下面提供的列表中的某些可能不是必需的):
Name |
Location |
M2E Buildhelper Connector |
http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-buildhelper/0.15.0/N/0.15.0.201207090124/ |
Connectors |
http://bitstring.github.com/m2e-connectors-p2/releases |
AJDT |
http://download.eclipse.org/tools/ajdt/46/dev/update |
Mylyn |
http://download.eclipse.org/mylyn/releases/indigo |
Neon |
http://download.eclipse.org/releases/neon |
SpringSource Tool Suite |
http://dist.springsource.com/release/TOOLS/update/e3.6 |
The Eclipse Project Updates |
http://download.eclipse.org/eclipse/updates/4.6 |
Web Tools Platform Repository |
http://download.eclipse.org/webtools/patches/drops/R3.3.2/P-3.3.2-20120305171618/repository/ |
Wtp |
http://download.eclipse.org/webtools/repository/indigo |
AndroidPlugin |
https://dl-ssl.google.com/android/eclipse |
3、配置环境变量ANDROID_JAR
E:\AndroidSDK\platforms\android-19\android.jar(按照自己的android sdk目录来);
1、下载
模块名称 | 下载地址 |
jasmin |
https://github.com/Sable/jasmin |
heros |
https://github.com/Sable/heros |
soot | https://github.com/Sable/soot |
soot-infoflow | https://github.com/secure-software-engineering/soot-infoflow |
soot-infoflow-android |
https://github.com/secure-software-engineering/soot-infoflow-android |
2、上面五个项目解压后存放在同一文件夹下
3、导入eclipse,File->import->maven->Existing Maven Projects,选择Add project to working set
以heros为例:
4、soot项目导入后,需要更改source,方法为项目右键àpropertyàjava build path,点击source,点击Add Folder编辑结果如下:
也可以从项目的目录中观察:
5、如果仍然报缺少依赖包的错误,可以去mvn库中手动下载,并放在相应的目录中
http://www.mvnjar.com/search.html
6、在soot中添加对heros和jasmin的项目依赖
7、java和maven环境的结合不是很好,如果soot中已经添加maven依赖,但是import时却报错,可以采用以下方法解决:
参考链接:https://blog.csdn.net/moneyshi/article/details/67637563
如果仍然解决不了,则可以不利用maven,手动引入jar包
8、可以正确运行的maven的环境如下:
hero
jasmin
soot
soot-infoflow
soot-infoflow-android