Загрузка и установка APK с использованием волейбола

Я пытаюсь загрузить обновление через Интернет. Это с последней версией волейбола. На данный момент я использую Stringrequest .

 class UpdateService : IntentService("Update Serivce") { companion object { val VERSION_URL = "<version url>" val FILE_URL = "<apk url>" val LOG_TAG = "UPDATE" fun initialize(context: Context) = context.startService(Intent(context, UpdateService::class.java)) } /** * Checks remote for an update */ override fun onHandleIntent(intent: Intent?) { Log.d(LOG_TAG, "Retrieving new version") // Get version number NetworkService().get(Uri.parse(VERSION_URL), Response.Listener { success(it) }, Response.ErrorListener { Log.d(LOG_TAG, "Failed to update ${it.toString()}") FirebaseCrash.report(it) }) } private fun success(it: String?) { Log.d(LOG_TAG, "Remote version: $it") Log.d(LOG_TAG, "Local version: ${BuildConfig.VERSION_NAME}") if (!it.equals(BuildConfig.VERSION_NAME)) { Log.d(LOG_TAG, "Fetching new update") NetworkService().get( Uri.parse(FILE_URL), Response.Listener { installUpdate(it) }, Response.ErrorListener { Log.d(LOG_TAG, "failed to get new APK") FirebaseCrash.report(it) } ) } } private fun installUpdate(it: String) { Log.d(LOG_TAG, "retrieved update") val file = File(this.externalCacheDir, "update.apk") if(!file.exists()){ file.createNewFile() } file.writeBytes(it.toByteArray()) val intent = Intent(Intent.ACTION_VIEW) intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive") intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK Log.d(LOG_TAG, "Installing") startActivity(intent) } 

}

При запуске операции установки я получаю ошибку синтаксического анализа от android.

не может разобрать

Как загрузить и сохранить файл как полезный APK с волейболом?

Проблема связана с каталогами. Я попробовал записать в каталог кеша и установить оттуда. Измените каталог на context.getExternalFilesDir(<Appname>, "update.apk") и он будет установлен без проблем.

Intereting Posts
Использование ресурса в kotlin func – не работает с жирным банком (одна банка) Для функции Kotlin, используемой в качестве выражения, существует ли краткий способ работы и возврата значения? Может ли перегрузка операторов сравнения в Kotlin использоваться для реализации SQL-подобных функций? kapt: Как обрабатывать тестовые источники? Android – Trigger MainActivity, чтобы сделать что-то из пользовательского вида Исключение Kapt при создании файла XML как я могу получить доступ к значениям из strings.xml в kotlin android Генераторы Kotlin: использование интерфейса для MVP Котлин: лямбда никогда не компилируется В чем разница между shouldBe и shouldBe именно в KotlinTest? Когда не использовать RxJava Observable? JavaFX Сброс графического контекста Как экспортировать функции Kotlin в Javascript с правильным именем Android – Tab # 3 очищает представление списка из Tab # 1. Как перевести Array <T?> В список <T>?