This project demonstrates integrating FlowDroid into different IDEs with MagpieBridge.
- Build MagpieBridge by yourself using the MagpieBridge ECOOP19 release.
- Check out adapted FlowDroid with
git checkout -b lsp https://github.com/linghuiluo/FlowDroid.git
. - Install FlowDroid into your local maven repository with
mvn install -DskipTests
(or download, unzip and copy this to your local m2 repository) - Check out master branch of this repository, install it with
mvn install -DskipTests
. - A jar file called
flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar
will be created in thetarget
directory. Use it to configure the a language server in an editor following the step 11 from this tutorial
- Run FlowDroidLSPDemo with this demo Java Project in Eclipse:
- Use the following arguments for the lanuch configuration
-jar PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\target\flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar -c PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\config
(see tutorial ) - Import DemoFlowDroid as Maven project in Eclipse.
- Open a Java file in this project, this will trigger the server to run FlowDroid.
- You should see a warning shown in Eclipse as in the following screenshot.
- Run FlowDroidLSPDemo with this demo Java Project in Visual Studio Code:
- Navigate to
PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\vscode
- Run
vsce package
- Install the FlowDroidLSP extension with
code --install-extension FlowDroidLSP-0.0.1.vsix
- Watch a demo vido on Youtube
- Run FlowDroidLSPDemo with this demo Android Project in Android Stuido:
- Install LSP Support Plugin in Android Studio (Note: this plugin is buggy, read more about it here)
- Use the following arguments for defining a language server
java -jar PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\target\flowdroid-lsp-demo-0.0.1-SNAPSHOT.jar -c PATH_TO_LOCAL_REPO\flowdroid-lsp-demo\config -a -p PATH_TO_ANDROID_PLATFORMS
- Open DemoFlowDroidAndroid in Android Studio.
- Open a Java file in this project, this will trigger the server to run FlowDroid. It takes a few seconds for FlowDroid to finish the analysis on this Android project.
- Watch a demo video on Youtube