Configurando o projeto
Configurando o Projeto
O download de dependências é realizado via Maven, conforme exemplo abaixo:
// No arquivo build.gradle(.kts) do projeto, apontar:
allprojects {
repositories {
google()
mavenCentral()
mavenLocal()
maven {
url = uri("https://maven.pkg.github.com/getzoop/zoop-package-public")
credentials {
username = "MyCompanyGH" // Seu usuário do GitHub.
password = "github_pat_..." // Sua PAT do GitHub.
}
}
}
}
// E adicionar como dependência o plugin, onde X.Y.Z é a versão desejada:
dependencies {
implementation("br.zoop.pos.plugin:mpos:X.Y.Z")
}
Informação
A GitHub personal access token (PAT) usada deve possuir no mínimo permissão para ler e obter pacotes/artefatos de repositórios públicos.
Dica
Caso você tenha dúvidas a respeito da GitHub PAT, acesse a página de nosso repositório público. Já no README
, apresentamos um guia para orientá-lo sobre como gerar uma GitHub PAT e quais permissões conceder a ela.
Dependências
Adicione ao arquivo build.gradle(.kts)
a nível de módulo:
android {
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
implementation("com.squareup.okhttp:okhttp:2.5.0")
implementation("com.squareup.okhttp3:okhttp:4.10.0")
}
Informação
Se você estiver utilizando dispositivos Android com API inferior a 26, será necessário usar o plugin do Android Gradle 4.0 ou versão mais recente e habilitar o recurso de core library desugaring.
Kotlin
android {
defaultConfig {
// Required when setting minSdkVersion to 20 or lower
multiDexEnabled = true
}
compileOptions {
// Flag to enable support for the new language APIs
// For AGP 4.1+
isCoreLibraryDesugaringEnabled = true
// For AGP 4.0
// coreLibraryDesugaringEnabled = true
// Sets Java compatibility to Java 8
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
dependencies {
// For AGP 7.4+
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
// For AGP 7.3
// coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.2.3")
// For AGP 4.0 to 7.2
// coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.9")
}
Groovy
android {
defaultConfig {
// Required when setting minSdkVersion to 20 or lower
multiDexEnabled true
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// For AGP 7.4+
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
// For AGP 7.3
// coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.3'
// For AGP 4.0 to 7.2
// coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.9'
}
Permissões
São necessárias as seguintes permissões:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-feature android:name="android.hardware.bluetooth" android:required="true"/>
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
Dica
Será necessário solicitar permissão do usuário para conexão Bluetooth. No aplicativo de teste temos um exemplo.
Após esse passo, você estará pronto para consumir os serviços do plugin, seguindo para a inicialização.