A next generation OpenWatch client for Android devices.
When downloading the source make sure to clone the repository with:
$ git clone git@github.com:OpenWatch/OpenWatch-Android.git --recursive
OpenWatch-Android uses a bundled KeyStore to verify ssl connections against. To adapt this to your application you need to generate a BKS format KeyStore, place it in res/raw/, and modify HttpClient.java appropriately with the keystore filename. Place the keystore password in SECRETS.java:
Create a file named SECRETS.java in /src/net/openwatch/reporter with the following content:
package net.openwatch.reporter;
public class SECRETS {
public static final String SSL_KEYSTORE_PASS = "your_keystore_password";
}
- Get your server's X509 format ssl certificates. You'll need the root and all intermediate certificates, but not your local cert. In my experience this was easiest to do in Firefox
- Generate a BKS format keystore with your certificates
- Place your keystore in /res/raw and update
HttpClientwith the appropriate filename
Ignition is a general extension to the Android SDK. OpenWatch-Android currently uses its RemoteImageView for async remote image loading & caching. In case we stick with Ignition, here's how you do it:
-
Make sure you have maven 3 installed:
$ mvn --version Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800) ... -
Set $ANDROID_HOME to your Android sdk dir and run
mvn clean installin /ignition$ EXPORT ANDROID_HOME=/Path/to/android-sdk-macosx $ mvn clean install -
Install m2eclipse and m2e-android plugins for Eclipse
(OSX) In Eclipse:
- m2eclipse:
- Help -> Install New Software -> Add…
- Enter 'http://download.eclipse.org/technology/m2e/releases' as Location and Name as you wish. Follow the wizard through completion.
- m2e-android:
- Help -> Eclipse MarketPlace
- Make sure the "Eclipse MarketPlace" icon is selected
- Search for "android m2e" and select "Android Configurator for M2E"
-
Import the ignition support Android library project
Import -> Maven -> Existing Maven Project -> Point to /ignition/ignition-support -
Import the ignition core Java library project
Import -> Maven -> Existing Maven Project -> Point to /ignition/ignition-core -
Add ignition support project as an Android Library project dependency of OpenWatch
R-Click OpenWatch project -> properties -> Android -> Libraries Pane -> Add -> Select ignition-core -
Add ignition core as a Java project dependency of OpenWatch
R-Click OpenWatch project -> properties -> Java Build Path -> Projects -> Add -> Select ignition-support -
That was fun, friendly, and fascinating!
To run the software you'll need a device running Android 2.2+ with a camera and an ARMv7 processor with NEON support.
The new Google Maps API v2 requires you to piss yourself off registering each apk signing key you use (debug, production) with the [)Google API Console(https://code.google.com/apis/console]).
On OSX:
- cd ~/.android
- keytool -list -v -keystore ./debug.keystore
- when prompted for password, enter 'android'
- copy the SHA1 fingerprint and append
:net.openwatch.reporter - Follow these steps to add the key to your Android application
- Adjust bitrate of LQ stream per sendVideoChunk() network performance