LINUX.ORG.RU

QtCreator не открывает проекты при отсутствии интернета. Это что за сюрприз?

 , , , ,


0

1

Ситуация: сегодня работы на линии, отключен интернет. Ну ничего, думаю я, посижу полдня без паутины. Включаю QtCreator, а он не может открыть ни один проект. Даже самый простой. Крутит что-то пару минут, потом вываливает ошибку:

Процесс «/opt/android/tools/bin/sdkmanager» не отвечает. Желаете завершить его?
Да/Нет


Отвечай что хочешь - проект не откроется, так и будет среда ждать неизвестно чего.

Понятно, что проблема скорее всего не в QtCreator, а в sdkmanager. Запустил я этот бинарник в консоли - он нормально отработал, показал помощь по своим опциям.

Несколько раз запустил QtCreator - он так и не смог открыть ни один проект. Потом заработал интернет. И QtCreator волшебным образом стал открывать проекты.

Тогда я выдернул интернетовый кабель, чтобы проверить, действительно ли проблема в отсутствии сети. Перезапустил QtCreator, но он стал нормально открывать все проекты.

Сижу и думаю: что это было, и что делать если такое снова повторится. Это же получается, что локально без интернета не поработаешь толком.

★★★★★

Перезапустил QtCreator, но он стал нормально открывать все проекты

/thread, забей

I-Love-Microsoft ★★★★★ ()

Ну если у тебя там Android, то наверняка внутри Qt Creator идёт сборка через Gradle, а он не работает в Off-line.

Появился интернет, Gradle скачал нужные пакеты, закешировал и всё заработало.

Это же получается, что локально без интернета не поработаешь толком.

Давно уже. У Gradle есть опция «Work offline», но сперва нужно скачать все зависимости.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

то наверняка внутри Qt Creator идёт сборка через Gradle

Так я же не собирал проект. Я его даже открыть не мог. Это из-за теневой сборки что ли?

Xintrea ★★★★★ ()
Ответ на: комментарий от Xintrea

Может быть. Я без понятия как там сейчас всё это устроено, так как пишу под Android в Android Studio без Qt.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Походу я придумал, как заставить работать QtCreator с Gradle без интернета.

Надо создать шаблон Android-приложения, в сырцах появится каталог android, внутри которого будут файлы gradle (для Linux) и gralde.bat (для Windows).

Идея в том, чтобы в опциях запуска Java-кода, которым происходит сборка, добавить опцию --offline.

Для Linux это делается путем добавления такой строки:

APP_ARGS=$(save "$@")

# Add by xintrea
APP_ARGS="$APP_ARGS --offline"

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

Для Windows в gradle.bat надо сделать то же самое, только с переменной CMD_LINE_ARGS.

Xintrea ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.