ฉันกำลังแก้ไขปัญหา Gradle ใน Android Studio และดูการอ้างอิงถึง "Run gradle sync" แต่ฉันไม่แน่ใจว่าจะเรียกใช้คำสั่งนี้อย่างไร
ฉันจะเรียกใช้ "Gradle sync" จาก Android studio หรือ Mac terminal ได้อย่างไร
ฉันกำลังแก้ไขปัญหา Gradle ใน Android Studio และดูการอ้างอิงถึง "Run gradle sync" แต่ฉันไม่แน่ใจว่าจะเรียกใช้คำสั่งนี้อย่างไร
ฉันจะเรียกใช้ "Gradle sync" จาก Android studio หรือ Mac terminal ได้อย่างไร
คำตอบ:
Android Studio ควรมีปุ่มนี้ในแถบเครื่องมือที่ระบุว่า "Sync project with Gradle Files"
แก้ไข: ฉันไม่รู้ว่ามีการเปลี่ยนแปลงเมื่อใด แต่ตอนนี้ดูเหมือนว่า:
แก้ไข: นี่คือสิ่งที่ดูเหมือนใน 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 (คลิกขวาเพื่อเพิ่มแป้นพิมพ์ลัด) -> นำไปใช้ - > ตกลงและเสร็จสิ้น เลือกปุ่มใดก็ได้ที่สะดวกเป็นทางลัดซิงค์การไล่ระดับสีของคุณซึ่งไม่ขัดแย้งกับปุ่มลัดอื่น ๆ (ฉันได้เลือก Shift + 5 เป็นปุ่มซิงโครไนซ์ไล่ระดับของฉัน) ดังนั้นถัดไปเมื่อคุณต้องการเรียกใช้การซิงค์แบบค่อยเป็นค่อยไปด้วยตนเองเพียงแค่กดแป้นพิมพ์ลัดนี้
ฉันคิดว่ามันหมายถึง Tools> Android> "Sync Project with Gradle Files" จากเมนูหลักของ 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
. ทำไม? ฉันจะอธิบายมัน
ฉันพบปัญหาเมื่อฉันทดสอบรายงานความครอบคลุมของจาโคโค เมื่อฉันเรียกใช้./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 ในตอนแรกมันจะทำงานได้ดี เพราะสิ่งที่build/../jacocoagent.jar
ปรากฏตามธรรมชาติ ฉันไม่รู้ว่าทำไมอาจมีข้อผิดพลาดในปลั๊กอิน jacoco หน่วยที่ฉันพบว่ากำลังทำงานอยู่.gradlew tasks
ทำให้โถปรากฏขึ้นเช่นกัน ดังนั้นฉันจะได้ผลลัพธ์เดียวกันในสคริปต์ gralde
นอกจากนี้gradle --recompile-scripts
ไม่ได้ผลสำหรับปัญหา
ฉันมีปัญหาอาจพิสูจน์ได้ว่า gradlew clean ไม่เท่ากับ ADT build clean และตอนนี้ฉันกำลังดิ้นรนเพื่อแก้ไข
นี่คือสิ่งที่ฉันได้รับ: ฉันตั้งค่า configProductID = 11111 จาก gradle.properties จาก build.gradle ของฉันฉันเพิ่ม
resValue "string", "ProductID", configProductID
ถ้าฉันสร้าง build clean จาก ADT ทรัพยากร R.string.ProductID จะถูกสร้างขึ้น จากนั้นฉันสามารถทำคำสั่งร้องได้สำเร็จ
gradlew assembleDebug
แต่ในขณะที่ฉันพยายามตั้งค่าเซิร์ฟเวอร์บิลด์ฉันไม่ต้องการความช่วยเหลือจาก ADT IDE ดังนั้นฉันจึงต้องหลีกเลี่ยงการใช้ ADT build clean นี่คือปัญหาของฉัน ตอนนี้ฉันเปลี่ยนชื่อทรัพยากรจาก "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'.
ใครก็ตามที่ต้องการใช้ command line เพื่อซิงค์โปรเจ็กต์กับไฟล์ gradle โปรดทราบ:
ตั้งแต่ Gradle 5.0
อ็อพชันบรรทัดคำสั่ง --recompile-scripts ถูกลบออก
https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425