Trace

Por padrão, a gravação de informações de trace é desabilitada, para habilitar a gravação de traces para diagnóstico de problemas pela equipe da Software Express, deve-se adicionar as seguintes configurações no arquivo CLSIT:

[CliSiTef]
HabilitaTrace=1
[CliSiTefI]
HabilitaTrace=1
[PinPad]
HabilitaTrace=1
ChaveTrace= <Neste campo deve ser informada uma chave fornecida pelo suporte
técnico da Software Express>

Os arquivos contendo o trace (CliSiTef*.dmp) são gravados no diretório de armazenamento externo (/sdcard). Para que isso seja possível, a aplicação precisa declarar no AndroidManifest.xml e, para API de nível 23 em diante, solicitar a permissão android.permission.WRITE_EXTERNAL_STORAGE.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..."
android:versionCode="1"
android:versionName="1.0">
...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
...
</manifest>

Para API de nível 23 (Android 6.0) em diante, além de declarar a permissão, a aplicação também precisa solicitar ao usuário uma confirmação. Para realizar esse procedimento corretamente, recomendamos a consulta da documentação do Android: https://developer.android.com/training/permissions/requesting

Uma maneira simplificada de realizar essa solicitação é incluir o código abaixo no método onCreate da Activity principal:

if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED)
{
requestPermissions(
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
PERMISSION_ANDROID);
}
}

Mas reforçamos a necessidade de consultar a documentação oficial do Android para realizar o procedimento de maneira apropriada para aplicativos de produção.

A partir do Android 10 (API 29), não é possível mais solicitar a permissão WRITE_EXTERNAL_STORAGE para gravar no /sdcard. Veja sugestões para contornar essa situação na Seção 8.1.1.

Caso seja necessário gravar o trace em outro diretório, utilize o parâmetro DiretorioTrace. No exemplo abaixo, configuramos a CliSiTef para armazenar o trace no diretório “files” da aplicação:

[CliSiTef]
DiretorioTrace=./files

Devido a mudanças na interpretação do parâmetro DiretorioTrace, recomendamos o seu uso apenas a partir da versão 117.7.r1. Em versões anteriores, o DiretorioTrace pode ser usado apenas para caminhos absolutos de até 50 caracteres (por exemplo: “/sdcard”).