Do you want to distribute your application?

Please do! The Automitive Grade Android source code is released under the Apache License; this permissive licensing allows the software to be freely modified and distributed.

To get your Android device "automotive grade" you first need to install AGA on the device, please visit the  Custom ROM Build page to learn more.

Do you want to create an Automotive Grade Android distribution?

​The AGA Project has prepared a generic Android Custom ROM and SDK build script that can be used as the baseline for building your own Android distribution. The build script comes prepared for a few select target platforms and can be modified or extended for you target platform.

As you will take the roll as an OEM, or ROM builder there are a few integration points that you should consider. These are:

  • the Java interface PolicyEnforcement, that exposes a method Authorizations getAuthorizations(AutomotiveCertificate certificate) that returns the Authorizations for a given AutomotiveCertificate.
  • the Java interface HardwareButtonController, that exposes several methods for Buttons integration.
  • the Java class SDPFactory can be used for integrating vehicle signals with the AGA SDK. By using the createNodeInstance() together with the method createGatewayClientInstance() it is possible to integrate vehicle signals with the SDK, e.g.
final SDPNode vehicleNode = SDPFactory.createNodeInstance();
final SDPGatewayNode clientGateway = SDPFactory.createGatewayClientInstance();
clientGateway.init(new SDPNodeEthAddress("localhost", 42333), vehicleNode);
  • ​the AGA SDK comes with an AGA signal set and a FMS signal set that can be extended with an OEM signal set. The current implementation is provided trough the class SignalsConfigurationImpl and logical signal names are exposed through the class AutomotiveSignalId.
  • finally for the driver distraction part, you should make your implementation of the Java interface DriverDistraction.
For any of the listed integration points. Plain Java with or without JNI is working.

Please refer to the Architecture page for details on the SDK architecture.