diff --git a/p4a/pythonforandroid/bootstraps/service_library/build/templates/activity_service_control.xml b/p4a/pythonforandroid/bootstraps/service_library/build/templates/activity_service_control.xml
new file mode 100644
index 0000000..8ab7f21
--- /dev/null
+++ b/p4a/pythonforandroid/bootstraps/service_library/build/templates/activity_service_control.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/p4a/pythonforandroid/bootstraps/service_library/build/templates/build.tmpl.gradle b/p4a/pythonforandroid/bootstraps/service_library/build/templates/build.tmpl.gradle
new file mode 100644
index 0000000..ff67d1d
--- /dev/null
+++ b/p4a/pythonforandroid/bootstraps/service_library/build/templates/build.tmpl.gradle
@@ -0,0 +1,171 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ repositories {
+ jcenter()
+ google()
+ mavenCentral()
+ maven { url "https://jitpack.io" }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.6.4'
+ }
+}
+
+plugins {
+ id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ maven {
+ url 'https://maven.google.com'
+ }
+ flatDir {
+ dirs 'libs'
+ }
+ }
+}
+
+apply plugin: 'com.android.library'
+apply plugin: 'maven-publish'
+apply plugin: 'signing'
+
+group = "io.lbry"
+version = "{{ args.version }}"
+
+android {
+ compileSdkVersion {{ android_api }}
+ buildToolsVersion '{{ build_tools_version }}'
+ defaultConfig {
+ minSdkVersion {{ args.min_sdk_version }}
+ targetSdkVersion {{ android_api }}
+ versionCode {{ args.numeric_version }} * 10 + 2
+ versionName '{{ args.version }}'
+ multiDexEnabled true
+
+ ndk {
+ abiFilters "arm64-v8a"
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility 1.8
+ targetCompatibility 1.8
+ }
+
+ dexOptions {
+ jumboMode true
+ }
+
+ {% if args.sign -%}
+ signingConfigs {
+ release {
+ storeFile file(System.getenv("P4A_RELEASE_KEYSTORE"))
+ keyAlias System.getenv("P4A_RELEASE_KEYALIAS")
+ storePassword System.getenv("P4A_RELEASE_KEYSTORE_PASSWD")
+ keyPassword System.getenv("P4A_RELEASE_KEYALIAS_PASSWD")
+ }
+ }
+ {%- endif %}
+
+ buildTypes {
+ debug {
+ }
+ release {
+ {% if args.sign -%}
+ signingConfig signingConfigs.release
+ {%- endif %}
+ }
+ }
+
+ sourceSets {
+ main {
+ jniLibs.srcDir 'libs'
+ }
+ }
+}
+
+ext {
+ compileSdkVersion = {{ android_api }}
+ buildToolsVersion = '{{ build_tools_version }}'
+ minSdkVersion = {{ args.min_sdk_version }}
+ targetSdkVersion = {{ android_api }}
+}
+
+subprojects {
+ afterEvaluate {project ->
+ if (project.hasProperty("android")) {
+ android {
+ compileSdkVersion {{ android_api }}
+ buildToolsVersion '{{ build_tools_version }}'
+ }
+ }
+ }
+}
+
+nexusPublishing {
+ repositories {
+ sonatype {
+ stagingProfileId = sonatypeStagingProfileId
+ username = ossrhUsername
+ password = ossrhPassword
+ nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
+ snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
+ }
+ }
+}
+
+afterEvaluate {
+ publishing {
+ publications {
+ release(MavenPublication) {
+ groupId 'io.lbry'
+ artifactId 'lbrysdk64'
+ version '{{ args.version }}'
+
+ from components.release
+
+ pom {
+ name = 'LBRY SDK for Android'
+ description = 'The LBRY SDK packaged as an Android AAR'
+ url = 'https://github.com/lbryio/lbry-android-sdk'
+ licenses {
+ license {
+ name = 'MIT License'
+ url = 'https://raw.githubusercontent.com/lbryio/lbry-android-sdk/master/LICENSE'
+ }
+ }
+ developers {
+ developer {
+ id = 'akinwale'
+ name = 'Akinwale Ariwodola'
+ email = 'akinwale@lbry.com'
+ }
+ }
+
+ scm {
+ url = 'https://github.com/lbryio/lbry-android-sdk'
+ connection = 'scm:git:github.com/lbryio/lbry-android-sdk.git'
+ developerConnection = 'scm:git:ssh://github.com/lbryio/lbry-android-sdk.git'
+ }
+ }
+ }
+ }
+ }
+}
+
+signing {
+ sign publishing.publications
+}
+
+dependencies {
+ {%- for aar in aars %}
+ compile(name: '{{ aar }}', ext: 'aar')
+ {%- endfor -%}
+ {%- if args.depends -%}
+ {%- for depend in args.depends %}
+ compile '{{ depend }}'
+ {%- endfor %}
+ {%- endif %}
+}
diff --git a/p4a/pythonforandroid/bootstraps/service_library/build/templates/colors.tmpl.xml b/p4a/pythonforandroid/bootstraps/service_library/build/templates/colors.tmpl.xml
new file mode 100644
index 0000000..1c703f9
--- /dev/null
+++ b/p4a/pythonforandroid/bootstraps/service_library/build/templates/colors.tmpl.xml
@@ -0,0 +1,12 @@
+
+
+ #40B89A
+ #303F9F
+ #FFFFFF
+
+ #FF0000
+ #00C000
+ #FFFFFF
+ #2F9176
+ #38D9A9
+
\ No newline at end of file
diff --git a/p4a/pythonforandroid/bootstraps/service_library/build/templates/gradle.properties b/p4a/pythonforandroid/bootstraps/service_library/build/templates/gradle.properties
new file mode 100644
index 0000000..88524aa
--- /dev/null
+++ b/p4a/pythonforandroid/bootstraps/service_library/build/templates/gradle.properties
@@ -0,0 +1,10 @@
+android.useAndroidX=true
+android.enableJetifier=true
+
+ossrhUsername={{ env["SONATYPE_USERNAME"] }}
+ossrhPassword={{ env["SONATYPE_PASSWORD"] }}
+sonatypeStagingProfileId={{ env["SONATYPE_STAGING_PROFILE_ID"] }}
+
+signing.keyId={{ env["NEXUS_SIGNING_KEY_ID"] }}
+signing.password={{ env["NEXUS_SIGNING_KEY_PASSWORD"] }}
+signing.secretKeyRingFile={{ env["NEXUS_SIGNING_KEYRING_FILE"] }}
diff --git a/p4a/pythonforandroid/bootstraps/service_library/build/templates/lbry-icon.png b/p4a/pythonforandroid/bootstraps/service_library/build/templates/lbry-icon.png
new file mode 100644
index 0000000..fb78a16
Binary files /dev/null and b/p4a/pythonforandroid/bootstraps/service_library/build/templates/lbry-icon.png differ