android-base-library
android-base-library copied to clipboard
Template project to create an Android library, which is ready to be published locally and on Maven Central.
Android Base Library Template
Template project to create an Android library, which is ready to be published locally and on Maven Central.
What's in this project template
- Kotlin 1.4.32
- KtLint
- Android Testing setup for both unit and integration tests
- Library project
- Example app project which imports the library project
-
manifest.gradle
which contains library metadata information and common dependencies between library project and demo app project.
Getting started
- Fork this project
- Clone it locally
- Run
./rename
and enter the required information - Done! Open
example/build.gradle
from your Android Studio and start writing your next awesome library!
Maven Central
Follow this guide: https://github.com/sky-uk/gradle-maven-plugin/#maven-central-publish
Release
You can release the library:
-
locally:
./release local
. This is going to create areleases
directory which can be used as a Maven Repository. -
MavenCentral:
./release
Using the library
Once the library is published, you can use it like this:
implementation 'LIBRARY_PROJECT_GROUP:LIBRARY_NAME:1.0.0'
Using your GitHub Repository as a Maven Repository
Perform ./release local
and then push the releases
directory. In your dependencies, add this to your repositories section:
maven {
content { includeGroup "LIBRARY_PROJECT_GROUP" }
credentials(HttpHeaderCredentials.class) {
name = "Authorization"
value = "Bearer ${ System.getenv('GITHUB_TOKEN') }"
}
authentication { register("header", HttpHeaderAuthentication.class) }
url "https://raw.githubusercontent.com/GITHUB_USER/GITHUB_REPOSITORY_NAME/master/releases"
}
You need to add an environment variable in your .bash_profile
for the github repo to work:
export GITHUB_TOKEN="YOUR_TOKEN"
And then source .bash_profile