एंड्रॉइड स्टूडियो मैन्युअल रूप से ग्रेडल सिंक कैसे चलाएं?


135

मैं एंड्रॉइड स्टूडियो में ग्रैडल मुद्दों को डिबग कर रहा हूं और "रन सिंक सिंक" के संदर्भ देखें, लेकिन मुझे यकीन नहीं है कि इस कमांड को कैसे चलाना है।

मैं एंड्रॉइड स्टूडियो या मैक टर्मिनल से "ग्रैडल सिंक" कैसे चलाऊं?

जवाबों:


212

एंड्रॉइड स्टूडियो के पास यह बटन टूलबार में "ग्रैडल फाइल के साथ सिंक प्रोजेक्ट" चिह्नित होना चाहिए।

संपादित करें: मुझे नहीं पता कि इसे कब बदला गया था लेकिन यह अब इस तरह दिखता है:

यहाँ छवि विवरण दर्ज करें

संपादित करें: यह 3.3.1 या फाइल पर जाकर जैसा दिखता है -> मेनूबार से ग्रैडल फाइल के साथ सिंक प्रोजेक्टयहाँ छवि विवरण दर्ज करें


2
Adnroid Studio 3.0.1 में गायब
रोमन एम

10
@ रोमन यह गायब नहीं है ... यह "फ़ाइल" में चला गया ... तो, यह आइकन को बचाने के लिए अगले है
W0rmH0le

49

चेतावनी : संस्करण 5.0 --recompile-scriptsसे कमांड को हटा दिया गया है gradle। अपने gradleसंस्करण की जांच करने के लिए , चलाएं gradle -v

./gradlew --recompile-scripts

यह कुछ भी निर्माण के बिना एक सिंक करेगा।


वैकल्पिक रूप से, अपने रूट प्रोजेक्ट में कमांड लाइन के साथ

./gradlew build

यह आपके ऐप को सिंक और निर्मित करेगा, और केवल ग्रैडल सिंक से अधिक समय लेगा

सभी उपलब्ध वर्गीकृत कार्य देखने के लिए, उपयोग करें ./gradlew tasks


2
हाँ, लेकिन निर्माण अधिक सही है? सिंक और बिल्ड के बीच अंतर क्या है?
जॉनीटेक्स 12

निर्माण एक बहुत ही सामान्य कार्य है। यह अखरोट को तोड़ने के लिए स्लेजहैमर का उपयोग करने जैसा है। एंड्रॉइड प्रोजेक्ट्स पर, "बिल्ड" कार्य चलाने से हमेशा के लिए लिया जा सकता है!
सेस

10
मैं com.android.tools.build:gradle:3.5.1 का उपयोग करता हूं और उसके पास कोई विकल्प नहीं है
संक्षिप्त

ग्रेड 5.0 के बाद से, --कंपाइल-स्क्रिप्ट्स एक अनजानी कमांड-लाइन विकल्प बन गई हैं,
फ्रांसिस बेकन

28

एंड्रॉइड स्टूडियो 3.3 में यह यहां है:

यहाँ छवि विवरण दर्ज करें

Android स्टूडियो 3.1 में https://stackoverflow.com/a/49576954/2914140 के उत्तर के अनुसार यह यहाँ है:

यहाँ छवि विवरण दर्ज करें

इस कमांड को स्थानांतरित कर दिया गया है File > Sync Project with Gradle Files

यहाँ छवि विवरण दर्ज करें


5
ROFL! मैं इस बटन के लिए 2 दिनों से देख रहा हूँ! धन्यवाद!
स्वोबी

1
@swooby, आपका स्वागत है। मैं भी कुछ समय के लिए इसे ढूंढ रहा था, यहां तक ​​कि एक सवाल भी पूछा, और उन्होंने मदद की।
कूलमाइंड

यह विकल्प अब मौजूद नहीं है? i.imgur.com/cNFUoxB.png (बस ले लिया स्क्रीनशॉट एंड्रॉयड स्टूडियो में, 3.5.3)
Venryx

@Venryx, यह अजीब है। मेरे पास 3.6.3 है और यह मेनू अभी भी मौजूद है ( imgur.com/a/F8FCpvk )। वैसे भी, टूलबार में बटन का उपयोग करना बेहतर है।
कूलमैन्ड

यह स्पष्ट रूप से कुछ AndroidStudio / Gradle फ़ाइलों के आउटडेटेड होने की समस्या थी। उन्हें हटाने और परियोजना को फिर से खोलने के बाद, विकल्प फिर से दिखा।
वेनेरीक्स

23

कीबोर्ड शॉर्टकट प्रेमी फ़ाइल -> सेटिंग्स -> कीमैप -> प्लगइन्स -> एंड्रॉइड सपोर्ट -> सिंक प्रोजेक्ट के साथ सिंक फाइल के साथ मैन्युअल रूप से सिंक सिंक चलाने के लिए एक शॉर्टकट जोड़ सकते हैं (कीबोर्ड शॉर्टकट जोड़ने के लिए इस पर राइट क्लिक करें) -> लागू करें - > ठीक है और आप कर रहे हैं। ग्रेड सिंक कीबोर्ड शॉर्टकटअपने ढाल सिंक शॉर्टकट के रूप में किसी भी सुविधाजनक कुंजी को चुनें जो किसी अन्य शॉर्टकट कुंजी के साथ संघर्ष नहीं करता है, (मैंने शिफ्ट + 5 को मेरी श्रेणी सिंक कुंजी के रूप में चुना है), इसलिए जब आप मैन्युअल रूप से ग्रेड सिंक को चलाना चाहते हैं, तो अगला इस कीबोर्ड शॉर्टकट कुंजी को दबाएं।


2
यह मैक ओएस एक्स
CCJ

1
+1 सवाल का सबसे अच्छा जवाब
nAkhmedov

सर्वश्रेष्ठ उत्तर, एंड्रॉइड स्टूडियो के समान आइकन से सिंक प्रोजेक्ट आइकन खोजने की आवश्यकता नहीं है। बस Shift + 5 दबाएं और आप काम कर रहे हैं।
एर। कौशिक काजवादरा

13

मुझे लगता है कि यह Android स्टूडियो मुख्य मेनू से टूल्स> एंड्रॉइड> "सिंक प्रोजेक्ट विथ ग्रैगल फाइल्स" का जिक्र है।


6
gradle --recompile-scripts

कुछ भी निर्माण के बिना एक सिंक करने के लिए लगता है। आप द्वारा स्वचालित निर्माण को सक्षम कर सकते हैं

gradle --recompile-scripts --continuous

कृपया अधिक जानकारी के लिए डॉक्स देखें:

https://docs.gradle.org/current/userguide/gradle_command_line.html


यहाँ भी नोट किया गया है: docs.gradle.org/current/userguide/upmission_version_4.html
लुइस

gradle 5.1.1 में विकल्प नहीं है --recompile-script
फ्रांसिस बेकन

2

शॉर्टकट (उबंटू, विंडोज):

Ctrl + F5

ग्रैडल फ़ाइलों के साथ प्रोजेक्ट को सिंक करेगा।


1
MacOS शॉर्टकट को परिभाषित नहीं किया गया है, किसी को इसे असाइन करना चाहिए। नीचे दिए गए stackoverflow.com/a/29642935/1839096
सिलवेस्टर

1

मुझे लगता ./gradlew tasksहै कि ऐसा ही है Android studio sync। क्यों? मैं इसे समझाऊंगा।

जब मैं जाकोको कवरेज रिपोर्ट का परीक्षण करता हूं तो मुझे एक समस्या मिलती है। जब मैं ./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स्वाभाविक रूप से दिखाई देते हैं। मुझे पता नहीं क्यों, शायद जैकोको प्लगइन में बग है। यूनिट मुझे लगता .gradlew tasksहै कि जार के रूप में अच्छी तरह से चल रहा है। तो मुझे ग्रेल्ड स्क्रिप्ट में एक ही परिणाम मिल सकता है।

इसके अलावा, gradle --recompile-scriptsसमस्या के लिए काम नहीं करता है।


हाय विक्टर, मुझे एक परेशानी है जो आपको गलत होने का प्रमाण दे सकती है, यहां मुझे जो मिला है, मैंने अपने gradle.properties से एक configProductID = 11111 सेट किया है। अपने build.gradle से, मैं "resValue" string "जोड़ता हूं। यदि आप बिल्ड क्लीन करते हैं। ADT से, संसाधन R.string.ProductID उत्पन्न किया जा सकता है। फिर मैं निर्माण करने के लिए gradlew assembleDug कर सकता हूं। फिर मैं अपना विन्यास नाम "ProductID" से "myProductID" में बदलता हूं, मुझे 'gradlew कार्य' करने के लिए त्रुटि मिलेगी। मैं just ग्रेडलेव क्लीन ’नहीं कर सकता, उनमें से सभी असफल हो जाते हैं। मैं अभी भी संघर्ष कर रहा हूं। जैसा कि"। \ _ Gradlew.bat --recompile-script "लगता है कि अब मौजूद नहीं है?
yunfei

0

मेरे पास एक समस्या है सबूत gradlew साफ कर सकते हैं ADT बिल्ड क्लीन के बराबर नहीं है। और अब मैं इसे ठीक करने के लिए संघर्ष कर रहा हूं।

यहाँ मुझे क्या मिला: मैंने अपने gradle.properties से एक configProductID = 11111 सेट किया, अपने build.gradle से, मैं जोड़ता हूं

resValue "string", "ProductID", configProductID

यदि मैं ADT से बिल्ड क्लीन करता हूं, तो संसाधन R.string.ProductID उत्पन्न हो सकता है। फिर मैं सफलतापूर्वक कमांड कमांड कर सकता हूं।

gradlew assembleDebug

लेकिन, जैसा कि मैं बिल्ड सर्वर सेटअप करने की कोशिश कर रहा हूं, मैं एडीटी आईडीई से मदद नहीं चाहता हूं, इसलिए मुझे एडीटी बिल्ड क्लीन का उपयोग करने से बचने की आवश्यकता है। यहाँ मेरी समस्या आती है। अब मैं अपने संसाधन का नाम "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 मेरे लिए समस्या यह थी, कि लिनक्स पर वर्तमान OpenJdk13 के साथ काम नहीं करता है (मैं मंज़रो का उपयोग करता हूं ... एक आर्क-लाइक लिनक्स)। तो इसे ठीक करने के लिए, मैंने यह किया है: मैंने जाँच की है कि मैंने अपने पीसी में कौन सा जावा संस्करण स्थापित किया है, और संस्करण 8 को चुना है: sudo archlinux-java stauts sudo archlinux-java set java-8-openjdk: यह मदद कर रहा है भले ही आपका सिस्टम विंडोज़ लगता हो। तो एक और एसडीके संस्करण का प्रयास करें। हो सकता है कि यह आपकी समस्या को भी हल कर दे।
सुथेर

हाय @ सूत्रर, आपके उत्तर के लिए बहुत धन्यवाद, मुझे मूल कारण और निश्चित मिल गया है, मुझे नहीं लगता कि यह जावा संस्करण के कारण है। लेकिन जैसा कि मैंने बताया कि "gradlew clean" "ADT clean" के बराबर नहीं है। मेरा फिक्स बस "gradlew: app: dependencies" था, यह gradle कॉन्फ़िगरेशन फ़ाइलों से रिसोर्स ID जनरेट करेगा।
यूंफेई

0

कोई भी ग्रेडिंग फ़ाइलों के साथ प्रोजेक्ट्स को सिंक करने के लिए कमांड लाइन का उपयोग करना चाहता है, कृपया ध्यान दें:

ग्रैडल 5.0 के बाद से,

--Recompile-script कमांड-लाइन विकल्प को हटा दिया गया है।

https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.