20

Android Studio 2.3 Canary 3. Thư viện hỗ trợ 25.1.0.Android Studio 2.3 Beta 1 + Hỗ trợ 25.1.0 = Xem trước bị hỏng

Xem trước bố cục hoàn toàn bị hỏng. Mọi thứ có chứa Chế độ xem có liên quan đến hỗ trợ dường như bị ngắt trong khi xem trước.

Trong mọi trường hợp, đây là sự khởi đầu của ngăn xếp:

Exception Details java.lang.NoSuchFieldError: ViewBackgroundHelper    
at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46)    
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:63)    
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56) 
.... 

.. vv

Không có vấn đề gì bố trí là như thế, tôi là bây giờ nhận được đẫm máu ViewBackgroundHelper này - vấn đề liên quan xuất hiện. Dường như không có vấn đề gì về kiểu bố cục là gì hoặc các khung nhìn nào ở trong đó .. bất kỳ thứ gì dường như đi qua AppCompat đều có lỗi này trong bản xem trước.

Chưa bao giờ thấy điều này trước đây. Trước đây đã có Android Studio 2.3 Canary 2 + Hỗ trợ libs 25.0.1.

Có vẻ như không thể bao giờ nâng cấp Android Studio hoặc thư viện hỗ trợ của Android mà không mất hàng giờ vào loại nội dung này, hey?

Thanks cho bất kỳ gợi ý, thanks-

CẬP NHẬT

Hình như tôi không phải là người duy nhất. Tìm thấy một lỗi đăng nhập ở đây, đóng vai chính bởi nhiều người đã:

https://code.google.com/p/android/issues/detail?id=230183

UPDATE 2

Tuy nhiên một vấn đề với AS 2.3 Beta 1. Vẫn không thể nhìn thấy bố trí của tôi. Cùng một lỗi java.lang.NoSuchFieldError: ViewBackgroundHelper ở khắp mọi nơi.

+0

tương tự ở đây. Bất kỳ giải pháp ?? –

+0

'Có vẻ như không thể nâng cấp Android Studio hoặc libs hỗ trợ của mình mà không tốn hàng giờ vào loại nội dung này, phải không? bạn đang sử dụng bản phát hành beta .... –

+1

@AndreClassen xem câu trả lời của tôi. Điều này xảy ra trên AS 2.2.3 Ổn định là tốt. –

Trả lời

5

Mọi thứ đều hoạt động ngay bây giờ.

  1. Tôi đã nâng cấp hôm nay lên Android Studio mới nhất: 2.3 Beta 3
  2. Tôi đã nhắc để cập nhật mới nhất com.android.tools.build:gradle:2.3.0-beta3

khởi động lại, không còn giá trị, xây dựng lại; mọi thứ cuối cùng sẽ hiển thị hoàn hảo trong ngăn xem trước lần đầu tiên sau 6 tuần.

Có vẻ như họ đã sửa nó. Cuối cùng.

2

Tôi đã gửi sự cố trên trình theo dõi. Những người tham gia khác đã phát hiện ra rằng việc xóa một số phụ thuộc thư viện không phải android khác khiến cho vấn đề biến mất. Trên cơ sở đó tôi tìm thấy một giải pháp (đăng lại từ thread vấn đề):

thông tin bổ sung sau khi điều tra này hơn nữa:

Android Studio 2.2.3
Build # AI-145,3537739, xây dựng trên 02 tháng 12 2016
JRE: 1.8.0_76-release-b03 amd64
JVM: OpenJDK 64-Bit server VM bởi JetBrains sro

Hỗ trợ libs: 25.1.0
công cụ xây dựng: 25.0.2

Sau khi có thể tái tạo điều này trên phiên bản studio ở trên (2.2.3 Ổn định), tôi bắt đầu xóa các phụ thuộc thư viện khác dựa trên thông tin do những người khác cung cấp trong chuỗi này. Sau khi xóa thư viện Thư pháp (https://github.com/chrisjenx/Calligraphy) và mã được liên kết, bản xem trước bố cục bắt đầu hoạt động lại chính xác.

Điều thú vị là tôi đã có thể thêm lại thư viện Thư pháp và xem trước bố cục tiếp tục hoạt động. Có lẽ điều này chỉ đến một số loại vấn đề bộ nhớ đệm với plugin gradle android?

Đối với những người khác gặp phải vấn đề này, tôi đề nghị như sau:
1. Pinpoint thư viện gây ra vấn đề
2. Tháo phụ thuộc thư viện và liên quan đang
3. Thực hiện đầy đủ sạch và xây dựng
4. xác minh xem trước bố trí các công trình
5. Tái thêm phụ thuộc thư viện
6. Thực hiện đầy đủ sạch và xây dựng
7. xác minh xem trước bố trí các công trình

Lưu ý: tôi nghi ngờ Thư pháp đã gây ra vấn đề bởi vì nó dựa vào một thuộc tính xml tùy chỉnh được gọi là "fontPath", cũng như một số thao tác Context. Nếu bạn có bất kỳ thư viện nào làm Xem thao tác dưới mui xe, tôi khuyên bạn nên loại bỏ những thư viện đó trước.

+1

Một gợi ý hay, nhưng tôi không thể chấp nhận điều này như một giải pháp vì tôi có hàng tá phụ thuộc được sử dụng trong * hàng trăm * lớp học, Hoạt động, Phân đoạn, v.v. Tôi không thể loại bỏ các phụ thuộc và xây dựng. Ngay cả bố cục của tôi chủ yếu chứa tùy chỉnh và Chế độ xem của bên thứ ba. –

+0

Tôi phát hiện ra rằng các phụ thuộc với các phiên bản lib hỗ trợ cũ chịu trách nhiệm cho lỗi này. Trong trường hợp của tôi một số libs bao gồm cả facebook sdk với phụ thuộc nội bộ để libs v7 như appcompat. Thật không may, loại trừ chúng thông qua gradle không giúp đỡ, vì nó là một vấn đề IDE. Vì vậy, tôi hoàn nguyên Android Studio để ổn định 2.2.3 (cũng như các công cụ gradle để: com.android.tools.build:gradle:2.2.3) và bây giờ nó hoạt động trở lại. – JimmyVanBraun

0

Tôi có giải pháp vấn đề không phải là phiên bản của Android Studio.

Vấn đề là phiên bản Gradle quay lại phiên bản ổn định 2.2.3 nó hoạt động cho tôi sau một vài thử nghiệm. Nó là một lỗi trong phiên bản beta gradle và nó đã được báo cáo cho google.

+0

Bạn có thể cung cấp liên kết đến báo cáo lỗi không? – Isaac

+0

Tất nhiên. https://code.google.com/p/android/issues/detail?id=230567 Tôi vẫn nghĩ rằng cách tốt hơn là sử dụng một phiên bản gradle ổn định. – juanpaternina

6

Theo dõi vấn đề, tính đến ngày 10 Tháng 1 2017:

https://code.google.com/p/android/issues/detail?id=230183

Đối với những người bạn bằng cách sử dụng 2.3.0-beta1 Gradle Plugin bạn có thể hài lòng vô hiệu hóa việc xây dựng bộ nhớ cache bởi thêm

android.enableBuildCache=false

đến file gradle.properties của bạn và cho chúng tôi biết nếu điều này khắc phục vấn đề này cho bạn. Sau khi thêm đường vào gradle.properties của bạn, vui lòng xây dựng lại dự án.

Cảm ơn.

Đã chứng minh để giải quyết vấn đề cho một số người dùng.

+0

Tôi đã thấy điều đó. Sử dụng '2.3.0-beta2' ngay bây giờ. Tôi đã thử thủ thuật 'android.enableBuildCache = false' (tôi cũng đang theo dõi trình theo dõi vấn đề) - nhưng không có số tiền xây dựng lại sẽ làm cho nó hoạt động cho tôi. Xem trước của tôi vẫn là dấu vết ngăn xếp ngoại lệ. Đã thực sự hy vọng rằng dòng này sẽ làm việc cho tôi nhưng tiếc là tôi là một trong những người mà nó * không * làm việc cho. :( –

0

tôi giải quyết vấn đề này trong các bước tiếp theo

  • Di < dự án >/< mô-đun >/build/build/trung gian/phát nổ-aar
  • Rebuild dự án
  • Kiểm tra rằng chỉ có một hỗ trợ thư viện phiên bản trong exploded-aar
1

Thay đổi phong cách AppTheme của bạn như thế này:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"> 
</style> 
Các vấn đề liên quan