NOCLASSDEFFOUNDERROR Google-Play-Services / Maps
-
20-12-2019 - |
Вопрос
Получение NoClassDefFoundError
внутри проекта и в Google Maps для образца Android, найденного в папке Google Play-Services.
Я пробовал до сих пор:
- .
- Импортировка Google Play-services_lib в рабочее пространство через мастер и убедившись, что код копируется в каталог
- вручную копировать Google-Play-services_lib в каталог с образцом, затем импортируя в рабочее пространство
- копировальная банка в рабочее пространство
- Google Play Services устанавливается на тестовых устройствах (Nexus 5, Galaxy S4)
- есть зеленый чек рядом с библиотекой под моим проектом при поездах на свойства> Android
- Я вижу классы в источнике во время компиляции, компилирует без ошибок
- переустановил Lib от Android SDK Manager и убедился, что ключ правильный в консоли Google API;Также убедиемо, что V2 карты были включены для этого ключа
- Добавлены исключенные исключения в соответствии с инструкциями в интеграции
Любые идеи?
Манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.projectname"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="21" />
<permission
android:name="com.package.projectname.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.package.projectname.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.package.projectname.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" >
<activity
android:name=".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="com.package.projectname.MapActivity"
android:label="@string/title_activity_map"
android:parentActivityName="com.package.projectname.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.package.projectname.MainActivity" />
</activity>
<uses-library
android:name="com.google.android.maps"
android:required="true" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value=“my_key_from_google_api_console” />
</application>
</manifest>
. Решение
Я не думаю, что вам нужна линия:
<uses-library
android:name="com.google.android.maps"
android:required="true" />
.
На самом деле, я думаю, что это название старой библиотеки карты. Попробуйте удалить его и посмотреть, исправляет ли это вашу проблему. Кроме того, убедитесь, что ваш код импортирует из com.google.android.gms.maps
и com.google.android.gms.maps.model
, пакеты для Google Maps API V2.
<Сильное> Обновление
Ваша конфигурация сборки не включая банку сервисов Google Play в вашем APK.
Чтобы исправить это в Intellij: https://stackoverflow.com/a/17977734/1235702
Чтобы исправить это в Eclipse, выполните шаги 3 и 4 здесь: https://docs.google.com/document/pub?id=19nqzvkp-cvld7_vrpwnhfl-ae9fjbjysowonzhftnhzw (я не писал этот документ, но бедес к тому, кто сделал!)
- Добавить проект Google Play Services в свое рабочее пространство Eclipse.
.
- Нажмите Файл -> Импорт ..., выберите Android -> Существующий код Android в рабочую область Обзор и выберите / Дополнительно / Google / Google_Play_Services / libProject / Google-Play-services_lib
- добавить зависимость в сервисы Google Play в ваш проект
.
- Проект -> Недвижимость -> Android -> Библиотека, Добавить -> Google-Play-services_lib
(извините; rackdown не позволит мне явно установить цифры на 3 и 4)
Скриншот из op для почетности: