У меня есть метод
fun generateIdentity(deviceId:String, environment: String) {
val identity= Identity()
identity.deviceId = deviceId
identity.environment = environment
AppLog.i(TAG, "generateIdentity()")
if (!configDirectory.exists()) {
configDirectory.mkdirs()
}
val identityFile = File("$configDirectory/identity.json")
if (identityFile.exists()) {
identityFile.delete()
}
identityFile.createNewFile()
val jsonIdentity = GsonBuilder().setPrettyPrinting().create().toJson(identity)
try {
val buf = BufferedWriter(FileWriter(identityFile, true))
buf.append(jsonIdentity)
buf.newLine()
buf.close()
} catch (e: IOException) {
AppLog.e(TAG, e.printStackTrace().toString())
}
}
, который записывает сериализованный объект
class Identity{
@Expose
@SerializedName("device-id")
var deviceId: String = ""
@Expose
@SerializedName("environment")
var environment: String =""
}
в локальное хранилище в виде файла JSON.
Когда .to Json () вызывается для объекта идентификации в процессе построения Gson, в собственном слое возникает cra sh, который предоставляет очень длинный список журналов, начинающийся с
03-09 14:20:08.416 7468-7468/ A/art: art/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc:801] Check failed: receiver != nullptr virtual
и заканчивающийся
03-09 14:20:08.799 7468-7468/? A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 7468 ()
Надгробие не создано. Это, казалось бы, тривиальный фрагмент кода, который работал в прошлом, не зная, какие изменения привели к тому, что это начало происходить. Как мне выяснить, что вызывает это?