Code Monkey home page Code Monkey logo

androlog's Introduction

AndroLog

Welcome to AndroLog, your simple solution to insert probes into Android apps with the goal to compute code coverage at runtime.

AndroLog offers, so far, several levels of granularity:

  • Classes
  • Methods
  • Statements
  • Activities
  • Services
  • Broadcast Receivers
  • Content Providers

Do not hesitate to contribute or open issues may you need additional levels of granularity.

๐Ÿš€ Getting started

โฌ‡๏ธ Downloading the tool

git clone https://github.com/JordanSamhi/AndroLog.git

๐Ÿ”ง Installing the tool

โžก๏ธ Before compiling AndroLog, make sure to set the paths to zipalign and apksigner in the config.properties file located in src/main/resources/

cd AndroLog
mvn clean install

๐Ÿ’ป Using the tool

java -jar AndroLog/target/androlog-0.1-jar-with-dependencies.jar options

Options:

  • -a : The path to the APK to process.
  • -p : The path to Android platofrms folder.
  • -l : The log identifier to use.
  • -o : The output where to write the instrumented APK.
  • -pa : Parsing runtime output logs.
  • -c : Logging classes.
  • -m : Logging methods.
  • -s : Logging statements.
  • -cp : Logging Android components (Activity, Service, BroadcastReceiver, ContentProvider).
  • -mc : Log method calls (e.g., a()-->b()).
  • -n : If set, this flag tells AndroLog to not consider libraries in the process.
  • -pkg : Sets the package name of classes to be exclusively instrumented.

โ„น๏ธ Examples

Instrumenting

  java -jar AndroLog/target/androlog-0.1-jar-with-dependencies.jar -p ./Androidplatforms/ -l MY_SUPER_LOG -o ./output/ -a my_app.apk -c -m -cp

Computing Code Coverage

  java -jar AndroLog/target/androlog-0.1-jar-with-dependencies.jar -p ./Androidplatforms/ -l MY_SUPER_LOG -a my_app.apk -c -m -cp -pa logs

๐Ÿ”จ Built With

  • Maven - Dependency Management

๐Ÿ“ƒ License

This project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE 2.1 - see the LICENSE file for details

๐Ÿ“ง Contact

For any question regarding this study, please contact us at: Jordan Samhi

androlog's People

Contributors

jordansamhi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.