diff --git a/gradle_plugins/src/main/groovy/org/ros/gradle_plugins/RosAndroid.groovy b/gradle_plugins/src/main/groovy/org/ros/gradle_plugins/RosAndroid.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..06605387d0c05d0b1b88023441c621ff456b6a01
--- /dev/null
+++ b/gradle_plugins/src/main/groovy/org/ros/gradle_plugins/RosAndroid.groovy
@@ -0,0 +1,26 @@
+package org.ros.gradle_plugins;
+
+import org.gradle.api.Project;
+import org.gradle.api.Plugin;
+import org.gradle.api.*;
+
+/*
+ * Configures java for the ros-android build environment. Pretty elementary right now,
+ * just applies the java plugin and defines the jdk compatibility level.
+ */
+class RosAndroidPlugin implements Plugin<Project> {
+    Project project
+    
+	def void apply(Project project) {
+	    this.project = project
+        if (!project.plugins.findPlugin('ros')) {
+            project.apply(plugin: 'ros')
+        }
+        project.extensions.create("ros.android", RosAndroidPluginExtension)
+        project.ros.android.buildToolsVersion = "17"
+    }
+}
+
+class RosAndroidPluginExtension {
+    String buildToolsVersion
+}
diff --git a/gradle_plugins/src/main/resources/META-INF/gradle-plugins/ros-android.properties b/gradle_plugins/src/main/resources/META-INF/gradle-plugins/ros-android.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b8c7cfa9a00e7a746dbf4da5e3dfd0f07f004cf4
--- /dev/null
+++ b/gradle_plugins/src/main/resources/META-INF/gradle-plugins/ros-android.properties
@@ -0,0 +1 @@
+implementation-class=org.ros.gradle_plugins.RosAndroidPlugin
\ No newline at end of file