Android Studio에서 gradle sync를 수동으로 실행하는 방법은 무엇입니까?


135

Android Studio에서 Gradle 문제를 디버깅 중이며 "그라들 동기화 실행"에 대한 참조가 있지만이 명령을 실행하는 방법을 잘 모르겠습니다.

Android 스튜디오 또는 Mac 터미널에서 "Gradle sync"를 어떻게 실행합니까?

답변:


212

Android 스튜디오에는 툴바에 "Gradle 파일과 프로젝트 동기화"라고 표시된이 버튼이 있어야합니다.

편집 : 언제 변경되었는지 모르겠지만 이제는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

편집 : 이것은 3.3.1에서 보이 거나 메뉴 막대 에서 파일-> Gradle 파일과 프로젝트 동기화 로 이동하여 보입니다 .여기에 이미지 설명을 입력하십시오


2
Adnroid Studio 3.0.1에서 실종
Roman M

10
@RomanM 누락되지 않았습니다 ... "파일"로 이동했습니다 ... 저장 아이콘 옆에 있습니다
W0rmH0le

49

경고 : 버전 5.0 --recompile-scripts이후로 명령이 더 이상 사용되지 않습니다 gradle. gradle버전 을 확인하려면을 실행하십시오 gradle -v.

./gradlew --recompile-scripts

아무것도 만들지 않고 동기화합니다.


또는 루트 프로젝트에서 명령 줄을 사용하여

./gradlew build

앱을 동기화하고 빌드하며 Gradle 동기화보다 오래 걸립니다.

사용 가능한 모든 gradle 작업을 보려면 ./gradlew tasks


2
예.하지만 빌드가 더 옳습니까? 동기화와 빌드의 차이점은 무엇입니까?
JohnyTex

빌드는 매우 일반적인 작업입니다. 마치 망치를 사용하여 너트를 깨는 것과 같습니다. Android 프로젝트에서 "빌드"작업을 실행하는 데는 시간이 오래 걸릴 수 있습니다!
cesards

10
com.android.tools.build:gradle:3.5.1을 사용하는데 --recompile-scripts
geosmart

gradle 5.0부터 --recompile-scripts는 알 수없는 명령 행 옵션이되었습니다.
Francis Bacon

28

Android Studio 3.3 에서는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

Android Studio 3.1의 https://stackoverflow.com/a/49576954/2914140 답변에 따르면 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

이 명령은로 이동되었습니다 File > Sync Project with Gradle Files.

여기에 이미지 설명을 입력하십시오


5
ROFL! 이 버튼을 2 일간 찾고있었습니다! 감사!
swooby

1
@swooby, 천만에요. 나는 또한 얼마 동안 그것을 찾고 있었고, 심지어 질문을했고 그들은 도와 주었다.
CoolMind

이 옵션은 더 이상 존재하지 않는 것 같습니다. i.imgur.com/cNFUoxB.png(Android Studio 3.5.3에서 방금 촬영 한 스크린 샷)
Venryx

@ Venryx, 이상하다. 3.6.3이 있는데이 메뉴는 여전히 존재합니다 ( imgur.com/a/F8FCpvk ). 어쨌든 툴바의 버튼을 사용하는 것이 좋습니다.
CoolMind

일부 AndroidStudio / Gradle 파일이 오래되어 문제가 된 것 같습니다. 그것들을 삭제하고 프로젝트를 다시 가져온 후에 옵션이 다시 나타납니다.
Venryx

23

키보드 단축키 애호가는 파일-> 설정-> 키 맵-> 플러그인-> Android 지원-> gradle 파일과 프로젝트 동기화 (키보드 단축키를 추가하려면 마우스 오른쪽 버튼으로 클릭)-> 적용-으로 이동하여 수동으로 gradle 동기화를 실행하기위한 단축키를 추가 할 수 있습니다 > 확인을 마쳤습니다. Gradle Sync 키보드 단축키다른 단축키와 충돌하지 않는 편리한 키를 gradle 동기화 바로 가기로 선택하십시오 (그라들 동기화 키로 Shift + 5를 선택했습니다). 다음에 gradle sync를 수동으로 실행하려면이 키보드 단축키를 누르십시오.


2
맥 OS X에 처음 두 단계에 대한 그것의 '안드로이드 Studio-> 환경 설정'
CCJ

1
질문에 대한 최고의 답변 +1
nAkhmedov

가장 좋은 대답은 안드로이드 스튜디오의 비슷한 아이콘에서 동기화 프로젝트 아이콘을 찾을 필요가 없습니다. Shift + 5를 누르면 완료됩니다.
어. Kaushik Kajavadara

13

Android Studio 기본 메뉴에서 도구> Android> "그라들 파일과 프로젝트 동기화"를 참조하고 있다고 가정합니다.




1

나는 ./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 studio sync를 클릭하면 OK가 실행됩니다. (가) 때문에 build/../jacocoagent.jar자연스럽게 나타납니다. 자 코코 플러그인에 버그가있는 이유를 모르겠습니다. 내가 찾은 유닛 .gradlew tasks은 항아리도 나타납니다. 그래서 gralde 스크립트에서 동일한 결과를 얻을 수 있습니다.

게다가, gradle --recompile-scripts문제를 해결하지 못한다.


안녕 빅터, 나는 당신이 잘못을 증명할 수있는 문제가 있습니다, 여기 내가 가진 것입니다, 나는 gradle.properties에서 configProductID = 11111을 build.gradle에서 설정하고 "resValue"string "을 추가합니다. ADT에서 리소스 R.string.ProductID를 생성 한 다음 gradlew assembleDebug를 빌드하여 빌드 한 다음 구성 이름을 "ProductID"에서 "myProductID"로 변경하면 'gradlew tasks'를 수행하는 데 오류가 발생합니다. "gradlew clean"을 수행 할 수 없으며, 모두 실패합니다. 여전히 어려움을 겪고 있습니다. ". \ gradlew.bat --recompile-scripts"가 더 이상 존재하지 않는 것처럼 보입니까?
yunfei

0

gradlew clean이 ADT build clean과 동일하지 않다는 증거가있을 수 있습니다. 그리고 지금은 고치기 위해 고심하고 있습니다.

다음은 내가 얻은 것입니다 : gradle.properties, build.gradle에서 configProductID = 11111을 설정하고 추가합니다.

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'.

몇 분 전에 같은 오류 메시지가 나타났습니다.> 지원되지 않는 클래스 파일 메이저 버전 57 문제는 Linux에서 현재 openJdk13과 함께 gradle이 작동하지 않는다는 것입니다 (Manjaro ... Arch-Like Linux). 그래서이 문제를 해결하기 위해이 작업을 수행했습니다. 내 PC에 설치된 Java 버전을 확인하고 버전 8을 선택했습니다. sudo archlinux-java stauts sudo archlinux-java set java-8-openjdk 아마도 도움이 될 것입니다 심지어 당신의 시스템이 창문 인 것처럼 보일지라도. 다른 SDK 버전을 사용해보십시오. 아마도 문제를 해결할 수도 있습니다.
suther

안녕 @suther, 귀하의 답장을 보내 주셔서 감사합니다, 근본 원인을 찾아 수정했습니다, 그것이 JAVA 버전 때문이라고 생각하지 않습니다. 그러나 내가 설명했듯이 "gradlew clean"은 "ADT clean"과 같지 않습니다. 내 수정은 단순히 "gradlew : app : dependencies"를 수행했으며 gradle 구성 파일에서 리소스 ID를 생성합니다.
yunfei

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.