ฉันมีปัญหาเช่นนี้โดยเฉพาะเมื่อทำการดีบั๊กผ่านโทรศัพท์ของฉัน บางครั้งมันใช้เวลา 27 นาที ฉันทำสิ่งต่อไปนี้และรับทราบคำอธิบายภายใต้แต่ละข้อ - สิ่งหนึ่งอาจใช้ได้สำหรับคุณ:
- เปลี่ยนไฟล์ gradle.properties ของฉัน (ภายใต้สคริปต์ Gradle ถ้าคุณมีมุมมองไฟล์โครงการภายใต้ตัวเลือก Android หรือภายในโฟลเดอร์โครงการของคุณ) ฉันเพิ่มสิ่งนี้เพราะคอมพิวเตอร์ของฉันมีหน่วยความจำสำรอง - คุณสามารถกำหนดค่าที่แตกต่างกันได้ในตอนท้ายทั้งนี้ขึ้นอยู่กับข้อกำหนดของคอมพิวเตอร์และข้อกำหนดขั้นต่ำของ android studio (Xmx8000m -XX: MaxPermSize = 5000m):
org.gradle.daemon = true
org.gradle.configureondemand = true
org.gradle.parallel = true
android.enableBuildCache = true
org.gradle.caching = true
org.gradle.jvmargs = -Xmx8000m -XX: MaxPermSize = 5000m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
- นี่ไม่ได้แก้ปัญหาของฉันในกรณีของฉันอย่างสมบูรณ์ ดังนั้นฉันก็ทำตามที่คนอื่นแนะนำมาก่อน - เพื่อทำให้กระบวนการสร้างของฉันออฟไลน์:
ไฟล์ -> การตั้งค่า / การตั้งค่า -> Build, Execution, Deployment -> Gradle
การตั้งค่า Global Gradle (ที่ด้านล่าง)
ทำเครื่องหมายที่ช่องทำเครื่องหมายชื่อ: ออฟไลน์ทำงาน
- เวลานี้ลดลงอย่างมาก แต่มันก็เอาแน่เอานอนไม่ได้; ในบางครั้งใช้เวลานาน ดังนั้นฉันจึงทำการเปลี่ยนแปลงบางอย่างในการทำงานทันที:
ไฟล์ -> การตั้งค่า / การตั้งค่า -> สร้างการดำเนินการปรับใช้ -> เรียกใช้ทันที
ตรวจสอบแล้ว: เปิดใช้งานการเรียกใช้ทันทีเพื่อสลับรหัส ...
ตรวจสอบแล้ว: เริ่มกิจกรรมใหม่เมื่อมีการเปลี่ยนแปลงรหัส ...
การย้ายข้างบนนั้นไม่แน่นอนและด้วยเหตุนี้ฉันจึงพยายามค้นหาว่าปัญหาอาจเกิดจากกระบวนการ / หน่วยความจำที่ทำงานโดยตรงบนโทรศัพท์และคอมพิวเตอร์ของฉันหรือไม่ ที่นี่ฉันเพิ่มพื้นที่หน่วยความจำเล็กน้อยในโทรศัพท์และที่เก็บข้อมูลของฉัน (ซึ่งใช้ 98% - ลงไป 70%) และในตัวจัดการงาน (Windows) เพิ่มลำดับความสำคัญของทั้ง Android Studio และ Java.exe เป็นสูง ทำตามขั้นตอนนี้อย่างระมัดระวัง ขึ้นอยู่กับหน่วยความจำของคอมพิวเตอร์
หลังจากทั้งหมดนี้เวลาการสร้างของฉันในขณะที่การดีบักอย่างแข็งขันในโทรศัพท์ของฉันในบางครั้งก็ลดลงไป 1 ~ 2 นาที แต่ในบางครั้งถูกแทง ฉันตัดสินใจที่จะแฮ็กซึ่งทำให้ฉันประหลาดใจด้วยการลดระดับลงเป็นวินาทีที่ดีที่สุด แต่ในโครงการเดียวกันที่ให้ฉัน 22 - 27 นาทีคือ 12 วินาที!:
เชื่อมต่อโทรศัพท์เพื่อทำการดีบั๊กแล้วคลิก RUN
หลังจากเริ่มต้นให้ถอดสายโทรศัพท์ออก - บิลด์ควรดำเนินการต่อเร็วขึ้นและแจ้งข้อผิดพลาดในตอนท้ายซึ่งระบุว่า: เซสชัน 'แอป': ข้อผิดพลาดในการติดตั้ง APK
เชื่อมต่อโทรศัพท์กลับเข้าที่แล้วคลิก RUN อีกครั้ง ...
อีกวิธีหนึ่งคือ
หากสคริปต์ / ฟังก์ชั่น / วิธีการที่ฉันดีบั๊กคือ JAVA ล้วนๆไม่ใช่ JAVA-android เช่นการทดสอบ API ด้วย JSONArrays / JSONObjects ฉันจะทดสอบฟังก์ชั่นจาวา / วิธีการของ Netbeans ซึ่งสามารถรวบรวมไฟล์เดียวและแสดงผลลัพธ์ได้เร็วขึ้น การเปลี่ยนแปลงที่จำเป็นในไฟล์ Android Studio ของฉัน สิ่งนี้ยังช่วยฉันประหยัดเวลาได้มาก
แก้ไข
ฉันพยายามสร้างโครงการ Android ใหม่ในที่จัดเก็บในตัวเครื่องและคัดลอกไฟล์ทั้งหมดของฉันจากโครงการก่อนหน้านี้ไปยังใหม่ - java, res, manifest, แอป gradle และโครงการ gradle (ด้วยการพึ่งพา classpath ล่าสุดของ gradle) และตอนนี้ฉันสามารถสร้างบนโทรศัพท์ของฉันในเวลาน้อยกว่า 15 วินาที