StoryDroid Save

Automated Storyboard Generation for Android Apps

Project README

New Versions

  • March 31, 2024: We will release a new version soon to extract storyboards with more UI scenarios compared with SceneDroid, StoryDistiller, and StoryDroid for Android apps!

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

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.

Open Source Agenda is not affiliated with "StoryDroid" Project. README Source: tjusenchen/StoryDroid
Stars
30
Open Issues
1
Last Commit
1 month ago

Open Source Agenda Badge

Open Source Agenda Rating