This library is a part of the [OpenXC][] project.
This Android library contains the tools required to read vehicle data from the vehicle's CAN bus through the OpenXC CAN translation module in any Android application.
Visit the [OpenXC][] project page for installation instructions, usage details and the source code documentation.
After cloning the openxc-android
repository to your local disk, open Eclipse
and go to File -> New -> Other -> Android -> Android Project from Existing Source
. Browse to the openxc-android
folder and it should detect the 4
Android projects within the repository. At the minimum, add the openxc
project
(the Android library itself) and OpenXcEnablerActivity
(the Enabler app,
required to run OpenXC applications).
You can optionally add the VehicleDashboardActivity
project to see an example
vehicle dashboard OpenXC application, and also the openxc-it
project which
contains a test suite for the library and instrumentation tests that run on the
device.
The build requires Maven
v3.0.3+ and the Android SDK
to be installed in your development environment. In addition you'll need to set
the ANDROID_HOME
environment variable to the location of your SDK:
export ANDROID_HOME=/opt/tools/android-sdk
After satisfying those requirements, the build is pretty simple:
- Run
mvn clean install -pl openxc -am
from the root directory to build the OpenXC library APK only. - Run
mvn clean install -pl openxc,openxc-it -am
from the root directory to build and run the library and test suite. This requires that an Android device is attached or an emulator is running.
If you want the tests to wait for a debugger to attach, change the testDebug
setting in openxc-android/pom.xml
to true
.
After the library is installed (run mvn clean install -pl openxc
), run this
to deploy the enabler and examples to an attached device:
$ mvn clean package android:deploy -pl enabler,examples
$ mvn android:run -pl examples
Please see our Contribution Documents.
Copyright (c) 2011-2013 Ford Motor Company Licensed under the BSD license.
[binding]: https://developer.android.com/guide/topics/fundamentals/bound-services.html#Binding) [services]: https://developer.android.com/guide/topics/fundamentals/services.html [AIDL]: https://developer.android.com/guide/developing/tools/aidl.html [OpenXC]: https://openxcplatform.com