Привет, я загружаю и разархивирую файл. Он отлично работает, когда я пытаюсь запустить его на своем компьютере с помощью эмулятора или телефона. вот код для распаковки:
private fun unpackZip(zipFile: File, key: String): Boolean {
println("unpackzip")
var input: InputStream? = null
var zis: ZipInputStream? = null
var outputFile: FileOutputStream?= null
var succeed = true
val path = zipFile.parent
try {
var filename: String
var ze: ZipEntry? = null
val buffer = ByteArray(1024)
var count = 0
input = FileInputStream(zipFile)
zis = ZipInputStream(BufferedInputStream(input))
while ({ze = zis.nextEntry; ze}() != null) {
filename = ze!!.name
if (ze!!.isDirectory) {
val fmd = File(path + File.separator+ filename)
fmd.mkdirs()
continue
}
outputFile = FileOutputStream(path + File.separator + filename)
while ({count = zis.read(buffer); count}() != -1) {
outputFile.write(buffer, 0, count)
}
outputFile.close()
zis.closeEntry()
}
zis.close()
} catch (e: IOException) {
Log.e(TAG, "An error occurred while unpacking downloaded magazine (Wookey : $key)")
deleteRecursive(zipFile.parentFile)
succeed = false
} finally {
input?.close()
zis?.close()
outputFile?.run {
flush()
close()
}
}
if (succeed)
zipFile.delete()
return succeed
}
Проблема в том, что когда я запускаюсь на своем компьютере, я получаю success = true, все мои файлы распаковываются, и я получаю файл c. json, который Я хочу. Но когда я генерирую подписанный apk, я также получаю все свои файлы и мой файл c. json, но этот файл не завершен, конец этого файла отсутствует и не всегда в одном и том же месте. Иногда я получаю половину файла, что-то меньше или больше.
Я действительно не знаю, почему это работает на моем компьютере, но не на выпуске?