Perfect-android-library-template

This is how I prefer my android setup. This setup has a sample app and a deployable library that deploys to maven central once released. It uses detekt and lint and uses github actions to verify code in pull requests

Features:

  • Detekt
  • Lint
  • Deploy to maven central
  • Verify PR (github actions)
  • Deployment using github releases
  • Auto versioning based on GIT tags
  • Issue templates
  • Funding
  • CI configurations (ci-gradle.properties)
  • Dependabot
  • PR templates
  • Release management
  • KTS gradle files

How to use this repo as a template

  1. Press “use this template” above or go to https://github.com/warting/Perfect-android-library-template/generate
  2. Make an awesome library
  3. Feel free to change from MIT License to whatever you want!
  4. Create a sonatype account (https://getstream.io/blog/publishing-libraries-to-mavencentral-2021/)
  5. Setup github secrets.
    1. OSSRH_USERNAME
    2. OSSRH_PASSWORD
    3. SONATYPE_STAGING_PROFILE_ID
    4. SIGNING_KEY_ID
    5. SIGNING_PASSWORD
    6. SIGNING_KEY
  6. Deploy your lib using github release functionality

Delete everything above this and change everything below

Maven Central

Title of library

Describe your project here

How to include in your project

The library is available via MavenCentral:

allprojects {
    repositories {
        // ...
        mavenCentral()
    }
}

Add it to your module dependencies:

dependencies {
    implementation("se.warting.perfect-android-library:template:<latest_version>")
}

How to use

All you need to do is to call SampleThingie:

    SampleThingie()

For a full implementation
see: Full sample

Notes

Some notes

GitHub

https://github.com/warting/Perfect-android-library-template