2012-03-08 103 views
1

我已將<uses-library android:name="com.google.android.maps" />置於 應用程序標記中。Android谷歌地圖「NoClassDefFound」

當我試圖移動到這個活動,我碰到了。

這是我的java文件:

**

import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import android.os.Bundle; 

public class MyMap extends MapActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mapactivity); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 
} 

,這是我的xml文件:(在my_api_key我有我自己的鍵,我從谷歌得到)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <com.google.android.maps.MapView 
    android:id="@+id/mapview1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:enabled="true" 
    android:clickable="true" 
    android:apiKey="my_api_key" /> 


</RelativeLayout> 

當我在eclipse中去編輯器時,我看到: http://i.stack.imgur.com/eUUHb.jpg

謝謝。

完全堆棧跟蹤: 7月3日至8日:06:10.554:E/AndroidRuntime(18227):java.lang.NoClassDefFoundError:Fproj.dnlgby.MyMap 7月3日至8日:06:10.554:E/AndroidRuntime (18227):at Fproj.dnlgby.MenuActivity.onClick(MenuActivity.java:60) 03-08 07:06:10.554:E/AndroidRuntime(18227):at android.view.View.performClick(View.java:2496 ) 03-08 07:06:10.554:E/AndroidRuntime(18227):at android.view.View $ PerformClick.run(View.java:9120) 03-08 07:06:10.554:E/AndroidRuntime(18227) ):at android.os.Handler.handleCallback(Handler.java:587) 03-08 07:06:10.554:E/AndroidRuntime(18227):at android.os.Handler.dispatchMessage(Handler.java:92) 03-08 07:06:10.554:E/AndroidRuntime(1 8227):在android.os.Looper.loop(Looper.java:130) 03-08 07:06:10.554:E/AndroidRuntime(18227):at android.app.ActivityThread.main(ActivityThread.java:3859) E/AndroidRuntime(18227):在java中的java.lang.reflect.Method.invokeNative(Native Method) 03-08 07:06:10.554:E/AndroidRuntime E/AndroidRuntime(18227):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java()方法.invoke(Method.java:507) 03-08 07:06:10.554: :840) 03-08 07:06:10.554:E/AndroidRuntime(18227):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598) 03-08 07:06:10.554:E/AndroidRuntime(18227):在dalvik.system.NativeStart.main(本地方法) 03-08 07:06:10.554:E/AndroidRuntime(18227):引起:java.lang.IllegalAccessError:Class在預驗證類中的ref解析爲意外的實現 03-08 07:06:10.554:E/AndroidRuntime(18227):at dalvik.system.DexFile.defineClass(Native Method) 03-08 07:06:10.554:E/AndroidRuntime(18227):at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:207) 03-08 07:06:10.554:E/AndroidRuntime(18227):at dalvik.system.PathClassLoader.findClass(PathClassLoader.java :200) 03-08 07:06:10.554:E/AndroidRuntime(18227):在java.lang.ClassLoader.loadClass(ClassLoader.java:551) 03-08 07:06:10.554:E/AndroidRuntime(18227) ):在java.lang.ClassLoader.loadClass(ClassLoader.java:511) 7月3日至8日:06:10.554:E/AndroidRuntime(18227):...... 12多個

+0

你可以發佈實際的堆棧跟蹤?當你說移動課堂是什麼意思?你鏈接到的img,基本上意味着你的風格不在主題中。使用右上角的下拉列表選擇您希望在使用mapViewStyle定義的情況下運行的活動的主題。 – 2012-03-08 03:43:56

+0

發佈了完整的堆棧跟蹤。謝謝。 – 2012-03-08 05:08:45

回答

0

在設備上運行這個或emulato R'如果它在模擬器上是模擬器設置爲提供Google API?

+0

其在我的設備上運行(摩托羅拉razer) – 2012-03-08 15:56:50

+0

固定。問題是我包括谷歌地圖庫在我的構建路徑並使用谷歌API。 – 2012-03-10 03:09:19

+0

這是什麼意思@ DanielGabay.Could你請詳細說明。你有什麼成功地顯示地圖在你的App.I有相同的錯誤孜然在我的設備不是模擬器。 – 2013-03-06 06:22:06

0

我通過在導入Google Play服務庫時檢查「將項目複製到工作區」來解決此錯誤。 更多的信息在這裏:http://developer.android.com/google/play-services/setup.html

+1

是的我認爲這個問題不再有效,因爲它是針對Google Maps API V1的。 V2就像你說的那樣工作,但過去沒有其他選擇,這個錯誤困擾了人們一段時間。感知到的行爲是MapActivity(僅限v1 SDK)的類會失敗一些初始化,然後無法完全加載爲類。然後這會隨機地崩潰你的應用程序,並帶有一個非常神祕的堆棧錯誤 – 2013-06-23 05:28:11

+0

@GregGiacovelli好的,我沒有注意到它,非常感謝你 – UmbySlipKnot 2013-06-23 11:34:46