Git Product home page Git Product logo

androidscreencast's Introduction

AndroidScreencast

Build Status Travis-CI  Dependency Status  Codacy Badge  Join the chat at https://gitter.im/AndroidScreencast/Lobby  Apache License

Description

AndroidScreencast was developed to view and control your android device from a PC.

This project gives the opportunity to use your phone even with a broken screen.

Features

  • No client needed
  • Support for Tap and Swipe gestures
  • Write messages using PC keyboard
  • Support for landscape mode
  • Browse your phone files on PC
  • Record video of your phone screen while browsing

Small wiki of project

Configuration

There are 2 ways to run application:

  1. Run ADB server on your own
  2. Provide correct app.properties file

Run ADB server on your own

In order to run server on your own you have to run already installed (or one from our OS-specific bundle) adb with following command:

adb start-server

Note:

If app.properties will have adb.path filled - AndroidScreencast will shutdown ADB server on application termination.

Additionally, in order to use, for example, remote ADB server with ssh forwarding you should not use app.properties or adb.path property should be commented.

Provide correct app.properties file

Right now to successfully run application you should create app.properties file in the same folder as AndroidScreencast's jar and provide at least one property - adb.path which should point to the adb executable file within your OS, for example such location could be configured for Windows OS:

adb.path=adb/windows/adb.exe

Both absolute and relative paths are supported.

Example of valid app.properties could be find here.

Also we have got some valid OS-specific examples:

They are actually the same, just adb.path is OS-specific. Files listed above are automatically included into OS-specific bundles.

Additional properties

Here is the full list of available properties for application configuration. Properties should be places in the app.properties file in the same folder as AndroidScreencast's jar file.

#relative or absolute path to ADB
adb.path=./adb
#maximum time to wait for device (in seconds)
adb.device.timeout=30
#maximum time to execute adb command (in seconds)
adb.command.timeout=5
#initial application window width (in pixels)
app.window.width=1024
#initial application window height (in pixels)
app.window.height=768
#Defines whether application should look 'natively' to OS. Possible values: true/false
app.native.look=false

JNLP

Application is available using Java web start technology via androidscreencast.jnlp.

Java security configuration

Due to Java security restriction policy, that was updated in java 7 and is restricted even more in java 8, we're now not able to run JNLP without some security "hacks".

To use JNLP, please follow this article: How can I configure the Exception Site List?

Building and running from source

This project requires at least Java 8.

After cloning the project, run mvnw install.

The resulting artifacts will be created in the target subdirectory.

You can run the executable jar via java -jar target/androidscreencast-VERSION-executable.jar, replacing VERSION with the current version.

For example, java -jar target/androidscreencast-0.0.10s-executable.jar.

Additionally OS-packages would be created with ADB executables bundled:

  • androidscreencast-VERSION-windows.zip
  • androidscreencast-VERSION-linux.tar.gz
  • androidscreencast-VERSION-macosx.tar.gz

In order to provide correct configuration see configuration section.

Requirements

Currently AndroidScreencast works directly with adb input program through ddmlib and abuse functionality of:

  • adb input key
  • adb input tap
  • adb input swipe

Regarding this point, to use AndroidScreencast you need Smartphone running on Android with specific input program version. adb input tap and adb input swipe were introduced in Android 4.1.1.

So, right now AndroidScreencast support all Android versions equal or greater than Android 4.1.1.

Also, to run AndroidScreencast you will need adb installed (or you can use bundled in OS bundles adb).

Similar Projects

  • Seven Square - QT implementation of Android Screencast (actively developed)
  • Droid@Screen - implementation of Android Screencast in Java (fancy one, last release in 2013)
  • Android Screen Monitor - implementation of Android Screencast in Java (latest release in 2013)

androidscreencast's People

Contributors

xsavikx avatar polyzen avatar upwell avatar jeyoor avatar liuwenchao avatar codacy-badger avatar gitter-badger avatar xansen avatar

Watchers

James Cloos avatar  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.