AndroidScreencast
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
Configuration
There are 2 ways to run application:
- Run ADB server on your own.
- Provide a 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 the 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.
app.properties
file
Provide correct 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 uses
the 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)