Build Amandroid using the Simple Build Tool (SBT)
Requirement: Java 8 or above
a. Execute following command to prepare the codebase:
setup.shb. To resolve sireum-amandroid-build Eclipse project dependency, run:
tools/bin/sbt-initSee http://www.scala-sbt.org/release/docs/index.html for more documentation on SBT. And check issue 1 if you face sbt downloading issues.
Hints: If you want to build Amandroid with your forked reporitory, you should modify
setup.shto have your reporitory's URL.
Execute following command to build Amandroid:
tools/bin/sbt clean compile package-bin "build-amandroid [/path/of/Amandroid] [isDeletePlatform] "Hints:
/path/of/Amandroidis the place you want to have Amandroid generated, and the path should not have any space. For Windows user it's should beX:\path\of\Amandroidand path length don't go beyond 1024.isDeletePlatformis a boolean value, which tells the build to keep platform folder or not. Platform folder contains java and scala library, which downloaded when you first time execute amandroid command. If you don't want to download such library repeatedly, just give a false.
Requirement: wget, tar and unzip.
a. Go to /path/of/Amandroid, or set /path/of/Amandroid in your PATH.
b. [Optional] If you want to set the Java heap size (most of the time you do need).
export JAVA_OPTS=-Xms512m-Xmx8gc. Setup java and scala:
setupd. Run:
amandroid your.class.name arg1 arg2 ...Examples commands, which will invoke object org.sireum.amandroid.cli.TaintAnalysis's main method with four arguments:
amandroid org.sireum.amandroid.cli.TaintAnalysis DATA_LEAKAGE false /amandroid/sources/icc-bench /output/icc-benchRequirement: wget, unzip (Those two software can be downloaded from http://gnuwin32.sourceforge.net)
a. Go to X:\path\of\Amandroid, or set X:\path\of\Amandroid in your PATH.
b. [Optional] If you want to set the Java heap size (most of the time you do need).
SET JAVA_OPTS=-Xms512m-Xmx8gc. Setup java and scala:
setup.batd. Run:
amandroid.bat your.class.name arg1 arg2 ...Examples commands, which will invoke object org.sireum.amandroid.cli.TaintAnalysis's main method with four arguments:
amandroid.bat org.sireum.amandroid.cli.TaintAnalysis DATA_LEAKAGE false /amandroid/sources/icc-bench /output/icc-bench