2014-04-12 40 views
101

Tôi đang cố gắng sử dụng Android Studio và lần đầu tiên tôi khởi động nó, phải mất 45 PHÚT để biên dịch ... Nếu tôi không thoát ứng dụng, thì không sao - mỗi lần biên soạn tiếp theo/chạy ứng dụng sẽ mất 45 giây.Làm thế nào để xóa bộ nhớ cache gradle?

Tôi đã cố gắng kiểm tra một số bộ nhớ cache của mình: có một thư mục .gradle/caches trong thư mục chính của tôi và nó lớn tới 123 MB.

Ngoài ra còn có một thư mục .gradle trong thư mục dự án của tôi ... một trong số taskArtifacts giống như 200 MB. Tôi sợ chỉ ngẫu nhiên nuke cả hai. Những phần nào của các thư mục được an toàn để xóa?

Có giải thích nào tốt hơn về lý do khiến Android Studio của tôi đang sử dụng mãi mãi để chạy tác vụ gradle assemble khi lần đầu tiên tải ứng dụng?

Tôi cũng phải xóa bộ nhớ cache intellij?

+3

tôi phát hiện ra sau đó rằng 45 phút biên dịch là vì tôi đã thay đổi các thiết lập cho 'Compiler -> Gradle' thành' Use in-process build'. không có gì để làm với bộ nhớ cache –

+0

Không có câu trả lời nào giúp được. Hóa ra một số hình ảnh bị hỏng. Mở hình ảnh trong Windows Explorer nhanh chóng cho bạn biết hình ảnh nào bị hỏng (những hình ảnh không tải bản xem trước). Thay thế những hình ảnh và thì đấy! – Bimde

Trả lời

127

Bạn có thể xóa an toàn toàn bộ thư mục .gradle nằm trong thư mục dự án. Nó sẽ được tái tạo mỗi khi nhiệm vụ được chạy. Tương tự cho .gradle dưới thư mục chính. Nó cũng sẽ được tái tạo là tốt, nhưng toàn bộ các phụ thuộc phải được tải xuống một lần nữa - nó khá tốn thời gian.

Như tôi thấy ở những nơi khác nhau trên web gradle cho phát triển Android là khá chậm và mọi người phàn nàn về nó. Không biết lý do chính xác là gì - đây là cách nó hoạt động.

Tôi không nghĩ rằng hiệu suất thấp là do các thư mục lớn. Thực ra họ giúp nó nhanh hơn.

Như @ Bradford20000 đã chỉ ra trong các nhận xét, có thể có tệp gradle.properties cũng như các tập lệnh gradle toàn cầu nằm dưới $HOME/.gradle. Trong trường hợp này, phải chú ý đặc biệt khi xóa nội dung của thư mục này. Thư mục bộ nhớ cache giữ bộ nhớ cache xây dựng Gradle. Vì vậy, nếu bạn có bất kỳ lỗi nào về điều đó, bạn có thể xóa điều đó. Đó là trên .gradle/caches

+14

Một điều cần lưu ý là nếu bạn có tệp gradle.properties trong thư mục .gradle trong thư mục chính của mình, bạn sẽ không muốn xóa toàn bộ thư mục. Thông thường, chỉ cần xóa .gradle/cache là đủ để Gradle tải xuống lại tất cả các phụ thuộc. – Bradford2000

123

Bạn có thể làm điều đó trên Android Studio

Để dọn dẹp cache hệ thống:

Trên menu chính, chọn File | Invalid Cache/Restart. Thông báo Invalidate Caches xuất hiện thông báo cho bạn rằng bộ nhớ cache sẽ bị vô hiệu và được xây dựng lại vào lần bắt đầu tiếp theo. Sử dụng các nút trong hộp thoại để làm mất hiệu lực cache, khởi động lại IntelliJ IDEA hoặc cả hai.

https://www.jetbrains.com/idea/help/cleaning-system-cache.html

Cập nhật: phương pháp nêu trên sẽ xóa bộ nhớ cache Studio Android, không gradle cache. Gradle bộ nhớ cache nằm ở

  • Trên Windows:% USER_HOME% .gradle/cache
  • Trên Mac/Unix: $ HOME /.gradle/cache/

Bạn có thể duyệt đến các thư mục và xóa nó bằng tay hoặc chạy

rm -rf $HOME/.gradle/caches/ 

trên hệ thống Unix. Chạy lệnh này cũng sẽ buộc tải xuống các phụ thuộc.

Cập nhật 2:Clear build cache of current project

Trên Windows:

gradlew cleanBuildCache 

Trên Mac hoặc Linux:

./gradlew cleanBuildCache 
+13

Thao tác này không xóa bộ đệm của phụ thuộc maven. Tôi đã xóa thư viện khỏi kho lưu trữ maven và vô hiệu hóa bộ đệm Android Studio, nhưng dự án vẫn xây dựng. Điều này có nghĩa là bộ nhớ đệm gradle cho phụ thuộc maven không bị xóa. – mattm

+1

Cách bạn mô tả sẽ chỉ làm sạch bộ nhớ cache từ dự án chính và phụ thuộc dự án của nó, nhưng phụ thuộc thư viện vẫn còn nguyên vẹn. Bạn đã mô tả cách xóa bộ nhớ cache của AndroidStudio, nhưng không phải bộ nhớ cache của gradle. – Leandroid

+0

Vâng, nhưng điều này không xuất hiện trên máy Mac trước khi tôi tải dự án. – milosmns

19

giải pháp mới nhất sử dụng nhiệm vụ gradle

cleanBuildCache

sẵn thông qua plugin của android cho Gradle, phiên bản 2.3.0 (tháng 2 năm 2017)

Dependencies:

  1. Gradle 3.3 hoặc cao hơn.
  2. Công cụ xây dựng 25.0.0 trở lên.

hơn tại địa chỉ:

https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache

nền

Build cache: kết quả đầu ra

cửa hàng chắc chắn rằng các plugin Android tạo ra khi xây dựng dự án của bạn (chẳng hạn như đóng gói AAR và các phụ thuộc từ xa trước dexed). Các bản dựng sạch của bạn nhanh hơn nhiều khi sử dụng bộ nhớ cache vì hệ thống xây dựng có thể đơn giản sử dụng lại các tệp được lưu trong bộ nhớ cache này trong các lần xây dựng tiếp theo thay vì tạo lại chúng. Các dự án sử dụng plugin Android 2.3.0 trở lên sử dụng bộ đệm dựng sẵn theo mặc định. Để tìm hiểu thêm, hãy đọc Cải thiện tốc độ xây dựng bằng cách tạo bộ nhớ cache.

Lưu ý: Tác vụ cleanBuildCache không khả dụng nếu bạn tắt bộ đệm dựng.

sử dụng:

cửa sổ

gradlew cleanBuildCache 

linux/mac

gradle cleanBuildCache 

android studio/inteliij

gradle tab (default on right) select and run task or add it via configuration window 

** gradle/gradlew là hệ thống cụ thể các file chứa script - xin vui lòng xem thông tin hệ thống như thế nào thực hiện kịch bản

  1. linux - https://www.cyberciti.biz/faq/howto-run-a-script-in-linux/
  2. cửa sổ - https://technet.microsoft.com/en-us/library/bb613481(v=vs.85).aspx
  3. mac https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html
+0

Câu trả lời mới! – Ferdau

Các vấn đề liên quan