Сетевые вызовы не работают в сборке 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"
        }
    }
}
Другие вопросы по тегам