diff --git a/plugins/.gitignore b/plugins/.gitignore
new file mode 100644
index 0000000000..cdf0046e9b
--- /dev/null
+++ b/plugins/.gitignore
@@ -0,0 +1,10 @@
+# Android Studio
+*/.idea
+*/*.iml
+
+# Gradle
+*/.gradle
+*/local.properties
+
+# Output files
+*/build
\ No newline at end of file
diff --git a/plugins/OsmAnd-AddressPlugin/OsmAnd-AddressPlugin.iml b/plugins/OsmAnd-AddressPlugin/OsmAnd-AddressPlugin.iml
deleted file mode 100644
index fcb91eb6fe..0000000000
--- a/plugins/OsmAnd-AddressPlugin/OsmAnd-AddressPlugin.iml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/OsmAnd-AddressPlugin/build.gradle b/plugins/OsmAnd-AddressPlugin/build.gradle
new file mode 100644
index 0000000000..3e45d665a2
--- /dev/null
+++ b/plugins/OsmAnd-AddressPlugin/build.gradle
@@ -0,0 +1,67 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ buildToolsVersion "21.1.2"
+
+ signingConfigs {
+ development {
+ storeFile file("../../../keystores/debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+
+ publishing {
+ storeFile file("../../osmand_key")
+ storePassword System.getenv("OSMAND_APK_PASSWORD")
+ keyAlias "androiddebugkey"
+ keyPassword System.getenv("OSMAND_APK_PASSWORD")
+ }
+ }
+
+ defaultConfig {
+ minSdkVersion 9
+ targetSdkVersion 21
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ sourceSets {
+ main {
+ manifest.srcFile "AndroidManifest.xml"
+ jni.srcDirs = []
+ jniLibs.srcDirs = []
+ aidl.srcDirs = ["src"]
+ java.srcDirs = ["src"]
+ resources.srcDirs = ["src"]
+ renderscript.srcDirs = ["src"]
+ res.srcDirs = ["res"]
+ assets.srcDirs = ["assets"]
+ }
+ }
+
+ buildTypes {
+ debug {
+ signingConfig signingConfigs.development
+ }
+ release {
+ signingConfig signingConfigs.publishing
+ }
+ }
+}
+
+repositories {
+ ivy {
+ name = "OsmAndBinariesIvy"
+ url = "http://builder.osmand.net"
+ layout "pattern", {
+ artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ }
+ }
+}
+
+dependencies {
+}
diff --git a/plugins/Osmand-ParkingPlugin/build.gradle b/plugins/Osmand-ParkingPlugin/build.gradle
new file mode 100644
index 0000000000..3e45d665a2
--- /dev/null
+++ b/plugins/Osmand-ParkingPlugin/build.gradle
@@ -0,0 +1,67 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ buildToolsVersion "21.1.2"
+
+ signingConfigs {
+ development {
+ storeFile file("../../../keystores/debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+
+ publishing {
+ storeFile file("../../osmand_key")
+ storePassword System.getenv("OSMAND_APK_PASSWORD")
+ keyAlias "androiddebugkey"
+ keyPassword System.getenv("OSMAND_APK_PASSWORD")
+ }
+ }
+
+ defaultConfig {
+ minSdkVersion 9
+ targetSdkVersion 21
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ sourceSets {
+ main {
+ manifest.srcFile "AndroidManifest.xml"
+ jni.srcDirs = []
+ jniLibs.srcDirs = []
+ aidl.srcDirs = ["src"]
+ java.srcDirs = ["src"]
+ resources.srcDirs = ["src"]
+ renderscript.srcDirs = ["src"]
+ res.srcDirs = ["res"]
+ assets.srcDirs = ["assets"]
+ }
+ }
+
+ buildTypes {
+ debug {
+ signingConfig signingConfigs.development
+ }
+ release {
+ signingConfig signingConfigs.publishing
+ }
+ }
+}
+
+repositories {
+ ivy {
+ name = "OsmAndBinariesIvy"
+ url = "http://builder.osmand.net"
+ layout "pattern", {
+ artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ }
+ }
+}
+
+dependencies {
+}
diff --git a/plugins/Osmand-SRTMPlugin/Osmand-SRTMPlugin.iml b/plugins/Osmand-SRTMPlugin/Osmand-SRTMPlugin.iml
deleted file mode 100644
index fcb91eb6fe..0000000000
--- a/plugins/Osmand-SRTMPlugin/Osmand-SRTMPlugin.iml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/Osmand-SRTMPlugin/build.gradle b/plugins/Osmand-SRTMPlugin/build.gradle
new file mode 100644
index 0000000000..3e45d665a2
--- /dev/null
+++ b/plugins/Osmand-SRTMPlugin/build.gradle
@@ -0,0 +1,67 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ buildToolsVersion "21.1.2"
+
+ signingConfigs {
+ development {
+ storeFile file("../../../keystores/debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+
+ publishing {
+ storeFile file("../../osmand_key")
+ storePassword System.getenv("OSMAND_APK_PASSWORD")
+ keyAlias "androiddebugkey"
+ keyPassword System.getenv("OSMAND_APK_PASSWORD")
+ }
+ }
+
+ defaultConfig {
+ minSdkVersion 9
+ targetSdkVersion 21
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ sourceSets {
+ main {
+ manifest.srcFile "AndroidManifest.xml"
+ jni.srcDirs = []
+ jniLibs.srcDirs = []
+ aidl.srcDirs = ["src"]
+ java.srcDirs = ["src"]
+ resources.srcDirs = ["src"]
+ renderscript.srcDirs = ["src"]
+ res.srcDirs = ["res"]
+ assets.srcDirs = ["assets"]
+ }
+ }
+
+ buildTypes {
+ debug {
+ signingConfig signingConfigs.development
+ }
+ release {
+ signingConfig signingConfigs.publishing
+ }
+ }
+}
+
+repositories {
+ ivy {
+ name = "OsmAndBinariesIvy"
+ url = "http://builder.osmand.net"
+ layout "pattern", {
+ artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ }
+ }
+}
+
+dependencies {
+}
diff --git a/plugins/Osmand-Sherpafy/build.gradle b/plugins/Osmand-Sherpafy/build.gradle
new file mode 100644
index 0000000000..3e45d665a2
--- /dev/null
+++ b/plugins/Osmand-Sherpafy/build.gradle
@@ -0,0 +1,67 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ buildToolsVersion "21.1.2"
+
+ signingConfigs {
+ development {
+ storeFile file("../../../keystores/debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+
+ publishing {
+ storeFile file("../../osmand_key")
+ storePassword System.getenv("OSMAND_APK_PASSWORD")
+ keyAlias "androiddebugkey"
+ keyPassword System.getenv("OSMAND_APK_PASSWORD")
+ }
+ }
+
+ defaultConfig {
+ minSdkVersion 9
+ targetSdkVersion 21
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+ sourceSets {
+ main {
+ manifest.srcFile "AndroidManifest.xml"
+ jni.srcDirs = []
+ jniLibs.srcDirs = []
+ aidl.srcDirs = ["src"]
+ java.srcDirs = ["src"]
+ resources.srcDirs = ["src"]
+ renderscript.srcDirs = ["src"]
+ res.srcDirs = ["res"]
+ assets.srcDirs = ["assets"]
+ }
+ }
+
+ buildTypes {
+ debug {
+ signingConfig signingConfigs.development
+ }
+ release {
+ signingConfig signingConfigs.publishing
+ }
+ }
+}
+
+repositories {
+ ivy {
+ name = "OsmAndBinariesIvy"
+ url = "http://builder.osmand.net"
+ layout "pattern", {
+ artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ }
+ }
+}
+
+dependencies {
+}
diff --git a/settings.gradle b/settings.gradle
index b3903c848d..4c604d0ff3 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,6 @@
include ':OsmAnd-java'
include ':OsmAnd'
+include ':plugins:OsmAnd-AddressPlugin'
+include ':plugins:Osmand-ParkingPlugin'
+include ':plugins:Osmand-Sherpafy'
+include ':plugins:Osmand-SRTMPlugin'