Debuguję problemy z Gradle w Android Studio i widzę odniesienia do „Uruchom synchronizację Gradle”, ale nie wiem, jak uruchomić to polecenie.
Jak uruchomić „Synchronizację Gradle” ze studia Android lub terminala Mac?
android
android-studio
gradle
sync
Alex Stone
źródło
źródło
OSTRZEŻENIE :
--recompile-scripts
polecenie jest przestarzałe odgradle
wersji 5.0. Aby sprawdzić swojągradle
wersję, uruchomgradle -v
../gradlew --recompile-scripts
zrobi synchronizację bez tworzenia niczego.
Alternatywnie za pomocą wiersza poleceń w projekcie głównym
./gradlew build
Zsynchronizuje i zbuduje Twoją aplikację i zajmie więcej czasu niż zwykła synchronizacja Gradle
Aby zobaczyć wszystkie dostępne zadania oceniania, użyj
./gradlew tasks
źródło
W Android Studio 3.3 jest tutaj:
Zgodnie z odpowiedzią https://stackoverflow.com/a/49576954/2914140 w Android Studio 3.1 jest tutaj:
To polecenie jest przenoszone do
File > Sync Project with Gradle Files
.źródło
Miłośnicy skrótów klawiaturowych mogą dodać skrót do ręcznego uruchamiania synchronizacji Gradle, przechodząc do Plik -> Ustawienia -> Mapa klawiszy -> Wtyczki -> Obsługa Androida -> Synchronizuj projekt z plikami gradle (kliknij prawym przyciskiem myszy, aby dodać skrót klawiaturowy) -> Zastosuj - > OK i gotowe. Wybierz dowolny wygodny klawisz jako skrót do synchronizacji gradle, który nie koliduje z żadnym innym klawiszem skrótu (wybrałem Shift + 5 jako mój klawisz synchronizacji gradle), więc następnym razem, gdy chcesz uruchomić synchronizację gradle ręcznie, po prostu naciśnij ten klawisz skrótu klawiaturowego.
źródło
Przypuszczam, że chodzi o Narzędzia> Android> „Synchronizuj projekt z plikami Gradle” z głównego menu Android Studio.
źródło
gradle --recompile-scripts
wydaje się robić synchronizację bez tworzenia niczego. możesz włączyć automatyczne budowanie według
gradle --recompile-scripts --continuous
Więcej informacji można znaleźć w dokumentacji:
https://docs.gradle.org/current/userguide/gradle_command_line.html
źródło
Skrót (Ubuntu, Windows):
Zsynchronizuje projekt z plikami Gradle.
źródło
Myślę, że
./gradlew tasks
to samo zAndroid studio sync
. Czemu? Wytłumaczę to.Mam problem podczas testowania raportu pokrycia jacoco. Kiedy uruchamiam
./gradlew clean :Test:testDebugUnitTest
bezpośrednio w wierszu poleceń, pojawia się błąd.Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
Jeśli jednak najpierw kliknę synchronizację Android Studio, działa poprawnie. Ponieważ
build/../jacocoagent.jar
pojawiają się naturalnie. Nie wiem dlaczego, może jest błąd we wtyczce jacoco. Jednostka, którą uważam za bieganie,.gradlew tasks
sprawia, że słoik również się pojawia. Więc mogę uzyskać ten sam wynik w skrypcie gralde.Poza tym
gradle --recompile-scripts
nie działa na problem.źródło
Każdy, kto chce używać wiersza poleceń do synchronizowania projektów z plikami Gradle, pamiętaj:
Od Gradle 5.0,
źródło
Mam problem z dowodem na to, że gradlew clean nie jest równy ADT build clean. A teraz staram się to naprawić.
Oto, co otrzymałem: Ustawiłem configProductID = 11111 z mojego gradle.properties, z mojego build.gradle, dodaję
resValue "string", "ProductID", configProductID
Jeśli zrobię czystą kompilację z ADT, można wygenerować zasób R.string.ProductID. Wtedy mogę z powodzeniem wykonać poniższe polecenie.
Ale kiedy próbuję skonfigurować serwer kompilacji, nie chcę pomocy od ADT IDE, więc muszę unikać używania czystego kompilacji ADT. Oto mój problem. Teraz zmieniam nazwę mojego zasobu z „ProductID” na „myProductID”, robię:
Otrzymuję błąd
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
Jeśli spróbuję z:
.\gradlew.bat --recompile-scripts
Po prostu pojawia się błąd
Unknown command-line option '--recompile-scripts'.
źródło