Я налагоджую проблеми Gradle в Android Studio і бачу посилання на "Запустити синхронізацію gradle", але я не знаю, як запустити цю команду.
Як запустити "Gradle sync" з студії Android або терміналу Mac?
Я налагоджую проблеми Gradle в Android Studio і бачу посилання на "Запустити синхронізацію gradle", але я не знаю, як запустити цю команду.
Як запустити "Gradle sync" з студії Android або терміналу Mac?
Відповіді:
Студія Android повинна мати цю кнопку на панелі інструментів із позначкою "Синхронізувати проект з файлами Gradle"
EDIT: Я не знаю, коли це було змінено, але зараз це виглядає приблизно так:
EDIT: Ось як це виглядає в 3.3.1
АБО, перейшовши до меню File -> Sync Project з 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, який не суперечить жодній іншій клавіші швидкого доступу (я вибрав 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
Однак якщо я спочатку натискаю синхронізацію андроїд-студії, це працює добре. Тому що build/../jacocoagent.jar
з'являються природно. Я не знаю чому, можливо, у плагіні jacoco є помилка. Підрозділ, який я знаходжу під керуванням, також .gradlew tasks
видає банку. Тож я можу отримати такий же результат у скрипті gralde.
Крім того, gradle --recompile-scripts
не працює для проблеми.
У мене проблеми, можливо, доказ gradlew clean не дорівнює чистістю ADT build. І зараз я борюся, щоб це виправити.
Ось що я отримав: я встановив 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-script був видалений.
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/isissue/1425