Skip to content

tjusenchen/StoryDroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

New Versions

  • We released a new version to extract storyboards with more UI scenarios compared with SceneDroid, StoryDistiller, Xbot, and StoryDroid for Android apps! Meanwhile, we combined the capability of UI exploration with Monkey and released a new tool named StoryMonkey to dynamically test Android apps!

  • We developed a new tool named A11yScan based on Xbot with a better capability of UI exploration compared with SceneDroid, StoryDistiller, Xbot, StoryDroid, etc.

  • We developed an extended version of StoryDroid/StoryDistiller to explore more scenes of GUI pages, named SceneDroid.

  • We developed a new tool named IRIS based on Xbot to repair the color-related accessibility issues for Android apps!

  • We developed a new tool named Xbot based on StoryDistiller/StoryDroid to detect accessibility issues for Android apps!

StoryDroid/StoryDistiller

We have made the source code publicly available. We hope this project can benefit other researchers or practitioners in the field of analysis of Android apps. Please contact us ([email protected]) if you have any questions or issues. We will continue to maintain this project. Thanks for your feedback.

Environment Configuration

  • Ubuntu/Macbook
  • Python: 2.7
  • APKTool: 2.6.1 (Please use the newest version of APKTool)
  • Android emulator:X86, Android 7.1.1, Google APIs, 1920 * 1080
  • Android environment: adb, aapt
  • Java environment (jdk): jdk1.8.0_45
  • pip install opencv-python==3.4.3.18
  • IC3: https://github.com/siis/ic3, please take the tool into the path /StoryDroid/main-folder/
  • jadx: https://github.com/skylot/jadx, please take the tool into the path /StoryDroid/main-folder/
  • libs support: Please take the android.jar files of all the different platform versions (android-3~android-32) into the path /StoryDroid/main-folder/config/libs/android-platforms/
  • Open ~/.bashrc and configure the path of JDK and SDK (Replace by your own paths):
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_45
export JAVA_BIN=/usr/lib/jvm/jdk1.8.0_45/bin
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
export PATH=$PATH:/home/dell/Android/Sdk/tools
export PATH=$PATH:/home/dell/Android/Sdk/platform-tools
export PATH=$PATH:/home/dell/Android/Sdk/emulator
export JAVA_HOME JAVA_BIN CLASSPATH PATH 

StoryDroid/StoryDistiller Usage

  • If you want to use the full function of StoryDroid, please use the following command:
python2.7 main_full.py
  • If you want to use the function of atg (Activity transition graph) generation, please the following command:
python2.7 main_partial.py

StoryDroid+

StoryDroid+ provides an operation-friendly platform for using storyboards and helps different stakeholders (e.g., designers, package managers, developers) explore and understand apps from different perspectives through rich visual pages. overview

Configuration

  • The Environment Configuration of StoryDroid+ is the same as that of StoryDroid/StoryDistiller.
  • StoryDroid+ uses Flask framework to build an offline website, a lightweight customizable framework, written in Python, which is more flexible and secure. So:
pip install flask

StoryDroid+ Usage

The folder "code-for-web-v2.0" is the latest version of StoryDroid+, in which the folder "templates" contains the front-end code of StoryDroid+, and the folder "static" contains the resource files of StoryDroid+. If you want to use the full function of StoryDroid+, please use the following command:

python2.7 test.py

Contact

Sen Chen All Copyright Reserved.

About

Automated Storyboard Generation for Android Apps

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •