2016-04-23 45 views
5

Tôi gặp sự cố dường như có liên quan đến thư viện trong studio android.
Tôi gặp biên dịch lỗi như:Android Studio E/dalvikvm: Không thể tìm thấy lớp học ... được tham chiếu từ phương pháp

không thể tìm thấy lớp 'android.os.PersistableBundle tham chiếu từ phương pháp com.example.jack.test1.MainActivity.access $ siêu', không thể tìm thấy lớp 'Android. app.SharedElementCallback được tham chiếu từ phương thức com.example.jack.test1.MainActivity.access $ super ', Không thể tìm thấy lớp' android.app.ActivityManager $ TaskDescription.

Ứng dụng vẫn chạy bình thường nhưng khi chạy đến một sự kiện nút nhất định, nó sẽ ngừng hoạt động. Bạn tôi có cùng mã chính xác như tôi nhưng trong trường hợp của tôi nó không hoạt động. Tôi đã thử nâng cấp lên cấp API mới nhất và đã thử phiên bản plugin gradle khác nhau nhưng sự cố vẫn tiếp diễn. Cảm ơn

chạy Android Studio 2.0
gradle phiên bản 2.10
phút sdk 4.0

Trả lời

0

tôi đã phải đối mặt với cùng một vấn đề. Vấn đề là do sự khác biệt giữa phiên bản công cụ xây dựng Android và phiên bản thư viện hỗ trợ Android (appcompat).

Bạn có thể giải quyết vấn đề này bằng cách, Hoặc cập nhật phiên bản công cụ xây dựng của bạn và hỗ trợ phiên bản thư viện mới nhất hoặc bạn nên sử dụng một thư viện appcompat đó là thấp hơn so với các công cụ xây dựng phiên bản và thay đổi nó trong tập tin gradle của bạn.

Bạn có thể nhận được tất cả các phiên bản của thư viện hỗ trợ từ here

Để nhận được và cập nhật phiên bản build của bạn và hỗ trợ phiên bản thư viện xin vui lòng kiểm tra tập tin build.gradle bên trong mô-đun ứng dụng của bạn

+0

Cảm ơn mẹo, tôi đã sao chép chính xác tệp build.gradle (ứng dụng) của bạn tôi đã đồng bộ hóa nhưng vì một lý do nào đó vẫn là vấn đề:/ –

2

tôi đã nhận lỗi này trong Android Studio phiên bản 2.0 trong khi xây dựng một đứa con trống của AppCompatActivity từ Thư viện hỗ trợ (v7-appcompat). Có vẻ như vấn đề đã xảy ra khi Công cụ Xây dựng (Gradle v2.1.0, plugin Android v2.10) được nâng cấp sau khi nâng cấp thư viện hỗ trợ tương ứng (v23.3.0).

Giải pháp của tôi:

  • Tháo tham khảo phụ thuộc hỗ trợ thư viện từ tập tin của tôi mô-đun cấp build.gradle (s)
  • sạch Dự án
  • Restart Android Studio (có thể tùy chọn)
  • Thêm thư viện hỗ trợ trở lại qua Cấu trúc dự án> Phụ thuộc

Có vẻ như đang làm việc cho đến nay, mặc dù trong tương lai sẽ tốt hơn nếu có thể chỉ định thứ tự nâng cấp, hoặc thiết lập một số loại phân cấp xảy ra trước khi cho các thư viện/cài đặt phụ thuộc vào Công cụ Xây dựng.

+0

hey @MandisaW, bạn có thể vui lòng giúp tôi về việc xóa và cập nhật thư viện? –

+0

Thử đi tới cửa sổ Tệp> Cấu trúc Dự án .... Nên có một danh sách ở bên trái, với các mô-đun ứng dụng của bạn ở cuối danh sách. Ví dụ, module chính của tôi là 'app'. Nhấp vào mô-đun chính của bạn, sau đó sẽ có một số tab trong cửa sổ - bạn muốn 'Phụ thuộc'. Từ đó là danh sách + (thêm)/- (xoá) tiêu chuẩn. Thư viện Hỗ trợ Android là các bổ sung là "Phụ thuộc thư viện" và mọi thư viện do người dùng tạo được thêm dưới dạng "Phụ thuộc mô-đun". Hy vọng rằng sẽ giúp. – MandisaW

0

Bật Multidex đã giải quyết được sự cố cho tôi. Bạn có thể tìm thấy giải thích chi tiết hơn tại câu trả lời của tôi về một câu hỏi tương tự trên here.

0

Những gì tôi nghĩ rằng giải quyết các vấn đề đối với tôi (sau khi thử trên gợi ý) Shrink mã và sử dụng quy tắc progaurd giải thích chính thức here

Như tôi mới làm quen với Android Studio, cảm thấy rằng dự án của tôi, mặc dù một ứng dụng rất nhỏ, có thể bị thổi phồng bởi nhiều tạp chí thử nghiệm + nhiều nhận xét (và mã không hoạt động bên trong) gây ra 64K? chỉ là một dự đoán trực quan sau khi đọc câu trả lời của @PKuijpers (cảm ơn!). Và thành thật mà nói, tôi không muốn bao gồm multiDex vì sau khi đọc tài liệu chính thức, tôi chắc chắn rằng ứng dụng của tôi không phải là PokemonGo hoặc NFS hoặc đủ lớn để đủ điều kiện cho multidex.

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