2013-05-16 20 views
0

我目前正在研究一個android應用程序,需要顯示一個地圖上的位置與負載標記的照片在上述位置。在過去的一天半里,我一直在努力爭取谷歌APIs的工作,現在他們的錯誤已經(看起來)消失了,在將一個谷歌播放API項目導入到Eclipse之後(根據谷歌參考),我現在我的OnClick按鈕上出現ClassDefNotFoundException。這並沒有發生,但在10分鐘前,我引用了API項目。ClassDefNotFoundException - 但它工作正常,直到10分鐘前

我需要解決這個問題今天所以任何可以提供的幫助將非常感激。

下面是調試屏幕的屏幕截圖(並且您可以看到缺少的類旁邊提供了該屏幕)。

http://prntscr.com/155x4a

它使用這個按鈕時只發生,每隔按鈕工作完全正常。

GMapActivity.class

package com.pragsys.android.gps; 

import com.google.android.gms.maps.SupportMapFragment; 

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.Menu; 

public class GMapActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_gmap); 

     SupportMapFragment frag = new SupportMapFragment(); 
     getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit(); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.gmap, menu); 
     return true; 
    } 
} 

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.pragsys.android.gps" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="17" /> 

    <permission 
     android:name="com.pragsys.android.gps.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.pragsys.android.gps.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

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

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyByBoq02A_DiWygIHdmidfVWVWrHWslbX4"/> 

     <activity 
      android:name="com.pragsys.android.gps.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".TakePhotoActivity" 
      android:label="@string/title_activity_take_photo" > 
     </activity> 
     <activity 
      android:name=".PhotoOverviewActivity" 
      android:label="@string/title_activity_photo_overview" > 
     </activity> 
     <activity 
      android:name=".PhotoGalleryActivity" 
      android:label="@string/title_activity_photo_gallery" > 
     </activity> 
     <activity 
      android:name=".PhotoUploadedActivity" 
      android:label="@string/title_activity_photo_uploaded" > 
     </activity> 
     <activity 
      android:name=".AboutActivity" 
      android:label="@string/title_activity_about" > 
     </activity> 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="-snip-" /> 

     <activity 
      android:name=".GMapActivity" 
      android:label="@string/title_activity_gmap" > 
     </activity> 
    </application> 

</manifest> 

layout.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:name="com.google.android.gms.maps.MapFragment"/> 
+0

你有沒有引用google play服務庫? – Raghunandan

+0

通常,NoClassDefFoundError表示您的項目在Eclipse中設置的方式存在問題,而不是您的代碼。我會仔細檢查你的庫的設置方式,並嘗試重新啓動eclipse和/或刷新項目(你可以通過在項目瀏覽器中突出顯示並按f5來做到這一點) –

+0

logcat將幫助 – mihail

回答

0

-cue天上fanfare- 行,所以我認爲我設法解決這個問題只需改變

android:name="com.google.android.gms.maps.MapFragment" /> 

android:name="com.google.android.gms.maps.SupportMapFragment" /> 

這會教我從引用只是一味的複製粘貼。編輯:和工作,直到凌晨3點到深夜。

相關問題