summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2019-04-17 10:31:39 -0400
committerGitHub <noreply@github.com>2019-04-17 10:31:39 -0400
commit80d6737382c43dff10358198b5a4cccf3b802cfc (patch)
treeca6c7a56a2f8cc19582ae64f86428ee40aec145e /README.md
parent490be41b20ec4bb4a81837e73eb6ea9bfcea7a8a (diff)
parent0c224439ad98b0379818a7c09e3249cbfd0ecb42 (diff)
downloadsdl_android-80d6737382c43dff10358198b5a4cccf3b802cfc.tar.gz
Merge pull request #1015 from smartdevicelink/release/4.8.0-rc1
Release 4.8.0
Diffstat (limited to 'README.md')
-rw-r--r--README.md85
1 files changed, 79 insertions, 6 deletions
diff --git a/README.md b/README.md
index b5dad034e..33c624aab 100644
--- a/README.md
+++ b/README.md
@@ -9,16 +9,19 @@ SmartDeviceLink (SDL) is a standard set of protocols and messages that connect a
* The [Core](https://github.com/smartdevicelink/sdl_core) component is the software which Vehicle Manufacturers (OEMs) implement in their vehicle head units. Integrating this component into their head unit and HMI based on a set of guidelines and templates enables access to various smartphone applications.
* The optional [SDL Server](https://github.com/smartdevicelink/sdl_server) can be used by Vehicle OEMs to update application policies and gather usage information for connected applications.
* The [iOS](https://github.com/smartdevicelink/sdl_ios) and [Android](https://github.com/smartdevicelink/sdl_android) libraries are implemented by app developers into their applications to enable command and control via the connected head unit.
-
+ * The JavaSE (Embedded) and JavaEE (Cloud) libraries, written in Java, are implemented by app developers into their applications to enable command and control of a connected head unit.
+
Pull Requests Welcome!
To understand if a contribution should be entered as an Android Pull Request (or issue), or an SDL Evolution Proposal, please reference [this document](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals_versus_issues.md).
<a href="http://www.youtube.com/watch?feature=player_embedded&v=AzdQdSCS24M" target="_blank"><img src="http://i.imgur.com/nm8UujD.png?1" alt="SmartDeviceLink" border="10" /></a>
-## Mobile Proxy
+## Client Proxy
+
+The client libraries component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps, as an embedded app, or connected to from the cloud. The libraries allows the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, TCP for Android and cloud and embedded apps can connect through web sockets, Java Beans, and other custom transports. Once the library establishes a connection between the smart device and head-unit through the preferred method of transport, the two components are able to communicate using the SDL defined protocol. The app integrating this library project is then able to expose its functionality to the head-unit through text, media, and other interactive elements.
-The mobile library component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps. The library allows the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, and TCP. Once the library establishes a connection between the smart device and head-unit through the preferred method of transport, the two components are able to communicate using the SDL defined protocol. The app integrating this library project is then able to expose its functionality to the head-unit through text, media, and other interactive elements.
+# SmartDeviceLink Java Suite
## SmartDeviceLink Android
@@ -32,7 +35,7 @@ You can also find some branches that have yet to be merged into this GitHub proj
To compile with the latest release of SDL Android, include the following in your app's `build.gradle` file,
-```
+```sh
repositories {
jcenter()
}
@@ -51,9 +54,79 @@ If you prefer not to use any of the aforementioned dependency managers, you can
Developers using Proguard to shrink and obfuscate their code should be sure to include the following lines in their proguard-rules.pro file:
-```
+```sh
-keep class com.smartdevicelink.** { *; }
-keep class com.livio.** { *; }
# Video streaming apps must add the following line
-keep class ** extends com.smartdevicelink.streaming.video.SdlRemoteDisplay { *; }
-``` \ No newline at end of file
+```
+
+## SmartDeviceLink Java
+
+### JavaSE
+
+The JavaSE project is meant to allow SDL compatibility for embedded applications.
+
+#### Dependency Managers
+
+To compile with the latest release of SDL JavaSE, include the following in your app's `build.gradle` file,
+
+```sh
+repositories {
+ jcenter()
+}
+dependencies {
+ implementation 'com.smartdevicelink:sdl_java_se:4.+'
+}
+```
+
+### JavaEE
+
+The JavaEE project is meant to allow SDL compatibility for web applications.
+
+#### Dependency Managers
+
+To compile with the latest release of SDL JavaEE, include the following in your app's `build.gradle` file,
+
+```sh
+repositories {
+ jcenter()
+}
+dependencies {
+ implementation 'com.smartdevicelink:sdl_java_ee:4.+'
+}
+```
+
+#### Manually building a JAR
+
+If you prefer making a JAR, simply call:
+
+```sh
+gradle build
+```
+from within the project (JavaSE or JavaEE) and a JAR should be generated in the `build/libs` folder
+
+## Java Suite Repo Structure
+
+![Java Suite Folder Structure](JavaSuiteFolderStructure.png)
+
+#### base Folder
+The base folder contains the source set that is shared between all of the compilable projects. This folder does not contain a a compilable project.
+
+#### baseAndroid Folder
+The baseAndroid folder contains symbolic links to files and folders from the base folder. This has been included since the Java Suite refactor is a minor version release and the base folder contains breaking changes for the Android project. This folder does not contain a a compilable project.
+
+#### android Folder
+The android folder contains the SDL Android library as well as the sample project for Android. Both of those are compilable projects.
+
+#### javaSE
+The javaSE folder contains the SDL JavaSE Library. The base folder source set is added as a dependency. This project can be used for embedded or remote SDL applications. It uses a web socket transport by default but can be made to work with other transports via the `CustomTransport`.
+
+###### JavaSE Sample App
+The JavaSE sample app is in the hello_sdl_java folder. It demonstrates an efficient way to structure a Java app using the JavaSE library.
+
+#### javaEE
+The javaEE folder contains the SDL JavaEE library. The JavaSE folder is used as a source set and added as a dependency. This library is based off the JavaSE library and will contain specifics for the JavaEe platform.
+
+###### JavaEE Sample App
+The JavaEE sample app is in the hello_sdl_java_ee folder. Most of the code is commented out since the library and sample app do not include the dependencies of JavaEE due to licensing issues. However, the commented out code demonstrates how to build a Java based app into the JavaEE bean architecture. \ No newline at end of file