2010-09-25 33 views
19

Ứng dụng của tôi chỉ bao gồm bản đồ có lớp phủ, nhưng khi tôi tạo MapView, ứng dụng của tôi gặp sự cố với NoClassDefFoundError. Tôi đang sử dụng API AVD của Google phù hợp với mục tiêu của mình, nhưng dường như tôi vẫn đang làm điều gì đó sai. Bất kỳ ý tưởng?API Google Maps Android cung cấp ứng dụng NoClassDefFoundError

EDIT: Trong trường hợp trợ giúp, NoClassDefFoundError của tôi đang khiếu nại về [generic]. Tôi có thể hiểu tại sao không có lớp học nào cho số [generic], nhưng tôi không chắc nó sẽ đến từ đâu.

Ngoài ra, một ClassNotFoundException sau đó than phiền com.google.android.maps.MapView in loader dalvik.system.PathClassLoader[/data/app/mathphreak.cellmap-1.apk] và sau đó tiếp tục gây ra một NoClassDefFoundError khác cho java.lang.NoClassDefFoundError: com.google.android.maps.MapView.

Trả lời

1

Có thể có hai điều.

i) Đảm bảo bạn đã xác định tất cả các lớp Hoạt động trong lớp AndroidManifest.xml.

ii) Đảm bảo bạn đang biên soạn dự án Android của mình bằng cách sử dụng "Google API" thay vì "Android 2.x", Nếu bạn chỉ biên dịch bằng API Google thì Google sẽ thêm các lớp Google Maps.

+0

Cảm ơn @Sharj tôi đã áp dụng tất cả câu trả lời ở trên nhưng thủ thuật của bạn đã thực hiện công việc. –

+0

@AdnanAmjad Bạn được chào đón. – Sharj

50

Hãy chắc chắn rằng bạn đã bao gồm các dòng sau trong ứng dụng của bạn manifest:

<uses-library android:required="true" android:name="com.google.android.maps" /> 

chắc chắn rằng nó ở địa điểm chính xác. Vấn đề của tôi (có thông báo lỗi tương tự) là tôi đã đặt điều này vào đó nhưng giống như các công cụ cho phép sử dụng, nó nằm dưới phần khai báo phần tử gốc, khi thực tế, phần tử sử dụng-thư viện được cho là được đặt trong ứng dụng phần tử. Trong trường hợp tôi không đủ rõ ràng, hãy xem phần: Định cấu hình tệp kê khai ứng dụng từ Sameers link.

+0

Nó không hoạt động đối với tôi trên giả lập Gennymotion: ( – Jackie

+0

@ Jackie, xin lỗi tôi không thể giúp bạn ở đó. Có vẻ như bạn có thể cần phải tìm cách liên kết máy ảo với tài khoản Google thực, nhưng Thành thật mà nói tôi không có ý tưởng .. Vậy tại sao bạn không lên Google: bản đồ genymotion NoClassDefFoundError và tìm ra, đăng câu trả lời ở đây và trên rất nhiều câu hỏi liên quan đến vấn đề cụ thể này và gặt hái được danh tiếng. tất cả những câu hỏi đó :) – Timo

+1

Cảm ơn @Timo, Tôi đã giải quyết được vấn đề. Chỉ cần cài đặt bản đồ google từ PlayStore. Tôi đoán thiết bị phải có bản đồ google để sử dụng Bản đồ v2 – Jackie

12

tôi đã cùng một vấn đề và tôi cố định nó nhờ Timo Lehto câu trả lời nhưng đặt chuỗi

<uses-library android:required="true" android:name="com.google.android.maps" /> 

này sau thẻ ứng dụng mở (lúc đầu)

<application 
     android:hardwareAccelerated="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <uses-library 
      android:name="com.google.android.maps" 
      android:required="true" /> 

     <activity ... 
+0

@ Matroska: cảm ơn bạn đã có câu trả lời tuyệt vời .. +1 –

1

One More điều cần kiểm tra,

  • Nếu bạn có hai bộ thư viện cho bản đồ. Sau đó, nó không hoạt động. Vui lòng kiểm tra đường dẫn xây dựng.

Hy vọng, điều này có thể phù hợp với một số người.

2

tôi đã cùng một vấn đề và tôi giải quyết nó thay đổi trong biểu hiện:

<activity android:name=".GpsActivity" ></activity> 

để

<activity android:name="GpsActivity" ></activity> 

các "chấm" là sự khác biệt

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