Сетевые вызовы не работают в сборке EXE-файла Compose для настольного приложения
Я использовал Ktor JVM Client для выполнения сетевых вызовов в Compose for Desktop Application.
Сетевые вызовы работают нормально в отладочной сборке, значит, когда я просто запускаю приложение, оно работает нормально.
Но когда я создаю файл распространения EXE , выполнив
packageExe
задача в Gradle, это создание EXE- файла. Я установил его на свой компьютер. Затем я запускаю приложение и вижу, что сетевые вызовы не работают. Я проверил, что интернет работает правильно.
Предоставьте решение, чтобы исправить эту проблему. Заранее спасибо.
1 ответ
Ваш вопрос не оставляет никаких подробностей о типе сбоя (ошибка компиляции? Исключение времени выполнения? Пустые данные? И т. Д.).
Но если бы мне пришлось строить предположения на основе такой ограниченной информации, я бы предположил, что это, вероятно, следующее: https://github.com/JetBrains/compose-jb/issues/429
В частности, при упаковке вам необходимо указать, какие модули JVM вы хотите упаковать в свое распространяемое приложение, и, вероятно, вам не хватает криптографического модуля. Попробуйте что-то вроде этого:
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
modules("jdk.crypto.ec")
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "untitled"
}
}
}