Processo para assinatura de apps para os terminais da Positivo, Gertec e Tectoy
Esta documentação descreve como configurar productFlavors no Android para dar suporte a dispositivos de múltiplos fabricantes, incluindo a Sunmi com Android 11. Cada variante de build utiliza um certificado de assinatura específico e ajustes dedicados.
AtençãoA utilização de flavors no Android é obrigatória para integrar dispositivos das marcas Positivo, Gertec e Tectoy. Para mais detalhes sobre flavors, consulte a documentação oficial do Android: productFlavors
O flavor gertecGposSeries7 é o suporte ao terminal Gpos730 .
AVISO CRÍTICO: Atualizações de Dependências PrincipaisEsta versão contém atualizações significativas de dependências que PODEM QUEBRAR integrações existentes. Leia o changelog antes de atualizar.
Estrutura de Configuração
1. Configuração das Assinaturas (signingConfigs)
No arquivo build.gradle
do aplicativo, configure os signingConfigs para cada modelo:
android {
...
signingConfigs {
positivoStandard {
def keystorePropertiesFile = rootProject.file("positivo/positivo-keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
storeFile <file-gertec-keystore>
keyAlias <key-alias>
keyPassword <key-password>
storePassword <store-password>
}
gertecGpos700 {
def keystorePropertiesFile = rootProject.file("gertec/gertec-keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
storeFile <file-gertec-keystore>
keyAlias <key-alias>
keyPassword <key-password>
storePassword <store-password>
}
gertecGposSeries7 {
def keystorePropertiesFile = rootProject.file("gertec/gertec-keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
storeFile <file-gertec-keystore>
keyAlias <key-alias>
keyPassword <key-password>
storePassword <store-password>
}
}
...
}
2. Definindo os productFlavors
Configure os flavors para cada modelo específico usando uma única dimensão:
android {
...
flavorDimensions = ["model"]
productFlavors {
sunmi {
dimension "model"
signingConfig signingConfigs.debug
versionNameSuffix "-sunmi"
}
SunmiSeriesP {
dimension "model"
signingConfig signingConfigs.debug
versionNameSuffix "-sunmiSeriesP"
}
ingenico {
dimension "model"
signingConfig signingConfigs.debug
versionNameSuffix "-ingenico"
}
gertecGpos700 {
dimension "model"
signingConfig signingConfigs.gertecGpos700
versionNameSuffix "-gertecGpos700"
}
gertecGposSeries7 {
dimension "model"
signingConfig signingConfigs.gertecGposSeries7
versionNameSuffix "-gertecGposSeries7"
}
tectoySeriesT {
dimension "model"
signingConfig signingConfigs.debug
versionNameSuffix "-tectoySeriesT"
}
positivoSeriesL {
dimension "model"
signingConfig signingConfigs.positivoStandard
versionNameSuffix "-positivoSeriesL"
}
}
}
3. Dependências do Projeto
Configure as dependências específicas para cada flavor:
dependencies {
// Configurações comuns...
ingenicoImplementation "br.com.stone:stone-sdk-posandroid-ingenico:$stone_sdk_version"
sunmiImplementation "br.com.stone:stone-sdk-posandroid-sunmi:$stone_sdk_version"
sunmiSeriesPImplementation "br.com.stone:stone-sdk-posandroid-sunmi:$stone_sdk_version"
tectoySeriesTImplementation "br.com.stone:stone-sdk-posandroid-tectoy:$stone_sdk_version"
gertecGpos700Implementation "br.com.stone:stone-sdk-posandroid-gertec:$stone_sdk_version"
gertecGposSeries7Implementation "br.com.stone:stone-sdk-posandroid-gertec-series7:$stone_sdk_version"
positivoSeriesLImplementation "br.com.stone:stone-sdk-posandroid-positivo:$stone_sdk_version"
}
Configurações Adicionais
Desabilitação de Assinatura no Modo Debug
buildTypes {
debug {
signingConfig null
}
}