Я отлаживаю проблемы Gradle в Android Studio и вижу ссылки на «Запустить синхронизацию Gradle», но я не уверен, как запустить эту команду.
Как запустить "Gradle Sync" из студии Android или терминала Mac?
Я отлаживаю проблемы Gradle в Android Studio и вижу ссылки на «Запустить синхронизацию Gradle», но я не уверен, как запустить эту команду.
Как запустить "Gradle Sync" из студии Android или терминала Mac?
Ответы:
Студия Android должна иметь эту кнопку на панели инструментов с пометкой «Синхронизировать проект с файлами Gradle».
РЕДАКТИРОВАТЬ: я не знаю, когда это было изменено, но теперь это выглядит так:
РЕДАКТИРОВАТЬ: это то, как это выглядит в 3.3.1,
ИЛИ, перейдя в File -> Sync Project with Gradle Files из строки меню.
ВНИМАНИЕ : --recompile-scripts
команда устарела с gradle
версии 5.0. Чтобы проверить свою gradle
версию, запустите gradle -v
.
./gradlew --recompile-scripts
он выполнит синхронизацию, ничего не создавая.
В качестве альтернативы с помощью командной строки в корневом проекте
./gradlew build
Он синхронизирует и создаст ваше приложение, и это займет больше времени, чем просто синхронизация Gradle.
Чтобы увидеть все доступные задачи Gradle, используйте ./gradlew tasks
В Android Studio 3.3 он находится здесь:
Согласно ответу https://stackoverflow.com/a/49576954/2914140 в Android Studio 3.1 он находится здесь:
Эта команда перемещена в File > Sync Project with Gradle Files
.
Любители сочетаний клавиш могут добавить ярлык для запуска синхронизации gradle вручную, перейдя в Файл -> Настройки -> Раскладка клавиатуры -> Плагины -> Поддержка Android -> Синхронизировать проект с файлами gradle (щелкните его правой кнопкой мыши, чтобы добавить сочетание клавиш) -> Применить - > ОК, и готово. Выберите любую удобную клавишу в качестве сочетания клавиш Gradle Sync, которое не конфликтует с другими сочетаниями клавиш (я выбрал Shift + 5 в качестве моей клавиши синхронизации Gradle), поэтому затем, когда вы хотите запустить синхронизацию Gradle вручную, просто нажмите эту комбинацию клавиш.
Я предполагаю, что это относится к Инструменты> Android> «Синхронизировать проект с файлами Gradle» в главном меню Android Studio.
gradle --recompile-scripts
кажется, выполняет синхронизацию, ничего не создавая. вы можете включить автоматическое построение,
gradle --recompile-scripts --continuous
Пожалуйста, обратитесь к документации для получения дополнительной информации:
https://docs.gradle.org/current/userguide/gradle_command_line.html
Ярлык (Ubuntu, Windows):
Ctrl + F5
Синхронизирует проект с файлами Gradle.
Думаю то ./gradlew tasks
же самое с Android studio sync
. Зачем? Я объясню это.
Я столкнулся с проблемой при тестировании отчета о покрытии jacoco. Когда я запускаю ./gradlew clean :Test:testDebugUnitTest
напрямую из командной строки, появляется ошибка.
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
Однако, если я сначала нажму «Синхронизация студии Android», все будет нормально. Потому что они build/../jacocoagent.jar
выглядят естественно. Не знаю почему, возможно, в плагине jacoco есть ошибка. Устройство, которое я нахожу работающим, также .gradlew tasks
вызывает появление банки. Так что я могу получить тот же результат в скрипте gralde.
К тому gradle --recompile-scripts
же не работает проблема.
У меня проблемы с доказательством того, что gradlew clean - это не чистая сборка ADT. И теперь я изо всех сил пытаюсь исправить это.
Вот что у меня получилось: я установил configProductID = 11111 из моего gradle.properties, из моего build.gradle я добавляю
resValue "string", "ProductID", configProductID
Если я сделаю чистую сборку из ADT, можно сгенерировать ресурс R.string.ProductID. Тогда я могу успешно выполнить следующую команду.
gradlew assembleDebug
Но поскольку я пытаюсь настроить сервер сборки, мне не нужна помощь от ADT IDE, поэтому мне нужно избегать использования чистой сборки ADT. Вот и моя проблема. Теперь я меняю имя своего ресурса с «ProductID» на «myProductID» и делаю:
gradlew clean
Я получаю ошибку
PS D:\work\wctposdemo> .\gradlew.bat clean
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\work\wctposdemo\app\build.gradle'
* What went wrong:
Could not compile build file 'D:\work\wctposdemo\app\build.gradle'.
> startup failed:
General error during semantic analysis: Unsupported class file major version 57
Если я попробую:
.\gradlew.bat --recompile-scripts
Я просто получаю ошибку
Unknown command-line option '--recompile-scripts'.
Любой, кто хочет использовать командную строку для синхронизации проектов с файлами Gradle, обратите внимание:
Начиная с Gradle 5.0,
Параметр командной строки --recompile-scripts был удален.
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425