Google Maps Android API выдает ошибку NoClassDefFoundError - PullRequest
19 голосов
/ 25 сентября 2010

Мое приложение состоит из карты с наложением, но при создании MapView происходит сбой приложения с NoClassDefFoundError.Я использую Google API AVD, который соответствует моей цели, но, видимо, я все еще делаю что-то не так.Любые идеи?

РЕДАКТИРОВАТЬ: В случае, если это помогает, мой NoClassDefFoundError жалуется на [generic].Я могу понять, почему нет определения класса для [generic], но я не уверен, откуда оно берется.

Кроме того, более позднее ClassNotFoundException жалуется на com.google.android.maps.MapView in loader dalvik.system.PathClassLoader[/data/app/mathphreak.cellmap-1.apk], и это затем вызывает другоеNoClassDefFoundError для java.lang.NoClassDefFoundError: com.google.android.maps.MapView.

Ответы [ 5 ]

50 голосов
/ 05 декабря 2011

Убедитесь, что вы включили следующую строку в манифест приложения :

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

и убедитесь, что она находится в правильном месте .Моя проблема (с похожими сообщениями об ошибках) заключалась в том, что я поместил это туда, но, как и материал с правами на использование, он был просто под манифестом корневого элемента, хотя на самом деле элемент использования-библиотеки должен бытьразмещены под элементом приложения .В случае, если я не достаточно ясно, смотрите часть: Настройка манифеста приложения от Sameers ссылка .

12 голосов
/ 13 января 2012

У меня была такая же проблема, и я исправил ее благодаря ответу Тимо Лехто, но поставив эту строку

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

после открывающего тега приложения (в начале)

   <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 ...
2 голосов
/ 22 августа 2012

У меня была такая же проблема, и я решил ее, изменив в манифесте:

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

до

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

"точка" - это разница

1 голос
/ 13 марта 2012

Еще одна вещь, которую нужно проверить,

  • Если у вас есть два набора библиотек для карт.Тогда это не работает.Пожалуйста, проверьте путь сборки.

Надеюсь, это может сработать для некоторых.

1 голос
/ 23 ноября 2010

Могут быть две вещи.

i) Убедитесь, что вы определили все свои классы Activity в классе AndroidManifest.xml.

ii) Убедитесь, что вы компилируете свой проект Android, используя «API Google» вместо «Android 2»..x ", если вы компилируете только с помощью API Google, тогда будут добавлены классы Google Maps.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...