Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 1.38 KB

README.md

File metadata and controls

39 lines (31 loc) · 1.38 KB

Mosaic

Mosaic is a cross-platform, timing-accurate record and replay tool for Android-based mobile devices. Mosaic enables cross-platform record and replay through a novel virtual screen abstraction. User interactions are translated from a physical device into a platform-agnostic intermediate representation before translation to a target system. The intermediate representation is human-readable, which allows Mosaic users to modify previously recorded traces or even synthesize their own user interactive sessions from scratch.

Requirements

  1. Python 2.7
    1. argparse (pip install argparse)
    2. enum34 (pip install enum34)
  2. Rooted Android device
  3. Android Debugger (ADB)
  4. Reran [http://www.androidreran.com/]
    1. Install to /data/local on device
    2. Grant executable permissions

Convenience Scripts

Although Mosaic is a Python-based command line tool, we provide the following bash wrappers for conveince operations:

  1. Calibrate source and target devices: ./calibrate.sh <SOURCE-NAME> ./calibrate.sh <TARGET-NAME>
  2. Record applicaton use case: ./calibrate.sh <APP-NAME> <SOURCE-NAME>
  3. Virtualize application use case: ./virtualize.sh <APP-NAME> <SOURCE-NAME>
  4. Translation application use case: ./translate.sh <APP-NAME> <SOURCE-NAME> <TARGET-NAME>
  5. Replay application use case: ./run.sh <APP-NAME> <SOURCE-NAME> <TARGET-NAME>