Карты Google для Android "NoClassDefFound" - PullRequest
1 голос
/ 08 марта 2012

я уже поместил <uses-library android:name="com.google.android.maps" /> в тег приложения.

когда я пытаюсь перейти к этому действию, у меня происходит сбой.

это мой 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 я получил свой собственный ключ, полученный от Google)

<?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

спасибо.

полная трассировка стека: 03-08 07: 06: 10.554: E / AndroidRuntime (18227): java.lang.NoClassDefFoundError: Fproj.dnlgby.MyMap 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в Fproj.dnlgby.MenuActivity.onClick (MenuActivity.java:60) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): вandroid.view.View.performClick (View.java:2496) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): на android.view.View $ PerformClick.run (View.java:9120) 03-0807: 06: 10.554: E / AndroidRuntime (18227): на android.os.Handler.handleCallback (Handler.java:587) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): на android.os.Handler.dispatchMessage (Handler.java:92) 03-08 07:06:10.554: E / AndroidRuntime (18227): на android.os.Looper.loop (Looper.java:130) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): на android.app.ActivityThread.main (ActivityThread.java: 3859) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): на java.lang.reflect.Method.invokeNative (собственный метод) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в java.lang.reflect.Method.invoke (Method.java:507) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java: 840) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:598) 03-08 07: 06: 10.554: E/ AndroidRuntime (18227): at dalvik.system.NativeStart.main (собственный метод) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): вызвано: java.lang.IllegalAccessError: ссылка на класс в предварительно проверенном классеразрешено до неожиданной реализации 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в dalvik.system.DexFile.defineClass (собственный метод) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в dalvik.system.DexFile.loadClassBinaryName (DexFile.java:207) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): в 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) 03-08 07: 06: 10.554: E / AndroidRuntime (18227): ... еще 12

Ответы [ 2 ]

0 голосов
/ 22 июня 2013

Я решил эту ошибку, установив флажок «Копировать проекты в рабочее пространство» при импорте библиотеки Google Play Services. Больше информации здесь: http://developer.android.com/google/play-services/setup.html

0 голосов
/ 08 марта 2012

Это работает на устройстве или эмуляторе?Если он находится на эмуляторе, настроен ли эмулятор для предоставления API Google?

...