Chỉnh sửa: Để biết chi tiết cách thực hiện, hãy xem my answer.ActionBarSherlock + Bản đồ + Trình tải = java.lang.NoClassDefFoundError
Tôi đang đấu tranh với nó trong hai ngày nay, hy vọng ai đó có thể giúp đỡ.
Tôi đang cố gắng sử dụng ActionBarSherlock mới nhất (4.0) với MapView. Tôi biết nó có vấn đề với những mảnh vỡ, nhưng tôi không cần chúng trong hoạt động này. Nhưng tôi cần Loaders và nó xuất hiện, để sử dụng Loaders tôi cũng phải mở rộng FragmentActivity. Không sao, tôi nghĩ, chúng tôi có số android-support-v4-googlemaps từ Pete Doyle. Như đã đề xuất trên nhiều chủ đề SO và Google Groups, tôi xây dựng ABS với Android-support-v4-googlemaps JAR (thực sự là android-support-v13-r7-googlemaps.jar) thay vì android-support-v4.jar. Sau đó, tôi sử dụng nó như một thư viện cho dự án của tôi.
Bây giờ, tôi muốn có hoạt động của tôi theo cách này:
public class BananoutMapActivity extends SherlockFragmentActivity implements LoaderCallbacks<ArrayList<EventItem>>{
Vấn đề:
Nó biên dịch, nhưng ném một lỗi runtime: E/AndroidRuntime(29159): java.lang.NoClassDefFoundError: ndl.klimczak.bananout.BananoutMapActivity
Điều tôi đã kiểm tra ba lần:
- cả dự án thư viện ActionBarSherlock và dự án của tôi được nhắm mục tiêu tại Google API 4.0.3
- Tôi có
<uses-library android:name="com.google.android.maps" />
và tôi có nó trong thẻ ứng dụng. - Tôi cũng có cùng android-support-v13-r7-googlemaps.jar trong việc xây dựng con đường của dự án của tôi
- Tôi đã
.BananoutMapActivity
khai báo trong tôi manifest
là gì thú vị:
Khi tôi chạy nó trên một giả lập ICS nó hoạt động (các lỗi xuất hiện trên 2. * emulators và 2.3.7 điện thoại của tôi), trên Honeycomb nó sẽ làm việc quá lẽ, đó là câu hỏi của việc sử dụng ACL tôi đoán
Khi tôi loại bỏ các phần
implements LoaderCallbacks<ArrayList<EventItem>>
nó hoạt động quá, nhưng cách này tôi không thể sử dụng LoaderManager
Tại sao trên trái đất lỗi NoClassDefFoundError và làm thế nào để có được những xúc lật làm việc tại MapCapableSherlockEnabledFragmentActivity của tôi ?
Vừa mới viết xong. Có vẻ là vấn đề. –
Chính xác! Tôi không thể tin rằng tôi đã bỏ qua điều gì đó hiển nhiên! Cảm ơn nhiều! Ngoài ra, tôi sử dụng phiên bản v13 của thư viện tương thích googlemaps của Pete Doyle và nó cũng bao gồm v4, vì vậy tôi nghĩ rằng đó không phải là vấn đề (và không phải lúc tôi chuyển nhập). –
Ah vâng. Nó là một bổ sung (thay vì một thay thế hoàn toàn) của phiên bản v4 bao gồm một bộ chuyển đổi máy nhắn tin đặc biệt mà dính một chút gần gũi hơn với khuôn khổ để tối ưu hóa. Miễn là bạn không sử dụng nó, bạn sẽ tốt hơn. –