[Android] Como criar sua primeira lib Android com Kotlin
Bibliotecas estão presentes de várias formas na vida de um desenvolvedor: organizar código, poupar escrita, testes, etc. Nesse tutorial vou ensinar a como criar uma simples biblioteca em Kotlin e como publicá-la no Jitpack.
Criaremos uma biblioteca que mostra um simples Toast, o intuito do tutorial é focar no conceito então iremos deixar a utilidade de lado :)
Todo o código fonte usado nesse tutorial está disponível aqui. ✨
Criando o projeto no Android Studio
Antes de tudo, crie um projeto novo com o nome de sua escolha.
Com o build finalizado, vá em File > New > New Module…
Selecione a opção Android Library, adicione um nome e vá em Finish..
Após finalizar, a visualização do projeto estará da seguinte forma:
Vale ressaltar que teremos 3 arquivos no buil.gradle:
- bulid.gradle (app)
- build.gradle (módulo do app)
- build.gradle (módulo da biblioteca)
Com nosso módulo criado, podemos trabalhar em cima dele para desenvolvermos nossa lib. Para esse tutorial, criaremos uma lib que exibe um simples Toast.
Para isso é preciso uma classe com o nome AwesomeToast, com o seguinte código:
package com.iamageo.awesome_toast
import android.content.Context
import android.widget.Toast
fun showToast(context: Context?, message: String?) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
}
Para realizar o teste, importamos a biblioteca direto no build.gradle do módulo do app.
Após sincronizar, adicione a chamada da função showToast() a MainActivity.kt
package com.iamageo.sample_library
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.iamageo.awesome_toast.showToast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupToast()
}
private fun setupToast() {
showToast(this, "its work")
}
}
Ao rodar o projeto.. 🎉🎉🎉
Distribuição 🚀
Como citado anteriormente, usaremos o Jitpack para publicar nossa biblioteca. Porém, antes disso, precisaremos realizar alguns passos:
O primeiro passo é adicionarmos os artifacts no build.gradle do módulo da biblioteca (para simplificar, veja abaixo o commit com as alterações).
Todas as alterações no build.gradle podem ser vistas nesse commit. ✨
Basicamente, você deve prencher o group e o groupId com o seu Github, a version com a versão atual da sua versão da sua biblioteca e o artifactId com o nome de identificação da biblioteca (normalmente o mesmo nome do módulo criado, para o meu caso: awesome-toast)
Para saber mais sobre o build no Jitpack, leia a documentação
plugins {
id 'maven-publish'
}
group = 'com.github.iamageo'
version = '1.0.0'
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId = 'com.github.iamageo'
artifactId = 'awesome-toast'
version = '1.0.0'
}
}
}
}
Feito isso, crie uma release no Github para a biblioteca.
Adicione uma tag, um título e uma descrição depois vá em Publish release.
O ultimo passo é fazer login no Jitpack com a conta do Github e realizar a busca pelo repositório.
Após isso, vá em Get it e aguarde.. 🚧
E assim, temos uma biblioteca publicada! 🚀🚀🚀
Para incluir em seus projetos futuros, basta adicionar a seguinte linha no build.gradle do seu projeto e aproveitar!
dependencies {
implementation'com.github.iamageo:sample_library:1.0.0'
}
Nossa, que conteúdo incrível!!
Eu estou desenvolvendo um aplicativo android com várias APIs muito específicas (como algumas que só foram lançadas nas últimas versões do android), e cara, eu fico impressionado com a liberdade que o Android nos dá para trabalharmos dentro do sistema, é realmente muito bom e por eu estar mexendo com essas APIs específicas, com certeza vou começar a criar umas libs seguindo estas dicas aí kskssks.