1

Поверьте мне, я прошел через как минимум десяток ответов перед публикацией, так как никто из них не помогает мне решить проблему, стоящую перед лицом, эта интеграция google действительно больна.Google map V2 exception NoClassDeffFound

Итак, вот описание проблемы «Показать карту».

и вот что я до сих пор сделал.

  1. импортировал сервисы Google Play Lib проекта в рабочем пространстве (с помощью Eclipse)
  2. Добавил этот проект как Lib в моем проекте
  3. Добавлено требуется разрешение и мета-Infos в manifiest файл
  4. Полученных собственные APIs ключей и добавил в manifiest

Manifiest.XML

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

    <uses-sdk 
     android:minSdkVersion="19" 
     android:targetSdkVersion="21" /> 

    <permission 
     android:name="com.example.mapdemo.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" > 
    </permission> 

    <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" > 
     <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="AIzaSyCp8z8qSQdO_gFb92iru8Vyr7R7YNQglTo" /> 

     <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> 
    </application> 

</manifest> 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:id="@+id/container" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.mapdemo.MainActivity" > 



</RelativeLayout> 

MainActivity.java

пакет com.example.mapdemo;

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

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     MapFragment frag = MapFragment.newInstance(); 
     getFragmentManager() 
     .beginTransaction() 
     .add(R.id.container, 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.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

и вот за исключение.

11-29 19:05:11.868: E/AndroidRuntime(19653): FATAL EXCEPTION: main 
11-29 19:05:11.868: E/AndroidRuntime(19653): Process: com.example.mapdemo, PID: 19653 
11-29 19:05:11.868: E/AndroidRuntime(19653): java.lang.NoClassDefFoundError: com.google.android.gms.maps.MapFragment 
11-29 19:05:11.868: E/AndroidRuntime(19653): at com.example.mapdemo.MainActivity.onCreate(MainActivity.java:19) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.Activity.performCreate(Activity.java:5248) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.ActivityThread.access$800(ActivityThread.java:139) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.os.Handler.dispatchMessage(Handler.java:102) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.os.Looper.loop(Looper.java:136) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at android.app.ActivityThread.main(ActivityThread.java:5086) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at java.lang.reflect.Method.invokeNative(Native Method) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at java.lang.reflect.Method.invoke(Method.java:515) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
11-29 19:05:11.868: E/AndroidRuntime(19653): at dalvik.system.NativeStart.main(Native Method) 

Пожалуйста, помогите мне, ребята, я действительно теряю контроль.

Снимок моего проекта Eclipse buildpath и андроид свойства project property Build path

спасибо, Techfist.

+0

Вы пытаетесь использовать SupportMapFragment вместо MapFragment? –

+0

@HareshChhelana: Поскольку код использует 'Activity', а не' FragmentActivity', 'MapFragment' - соответствующий класс для использования. – CommonsWare

+0

Кажется, что вы, возможно, вручную изменили путь сборки или что-то еще, чтобы JAR с Maps V2 существовал при компиляции, но не был упакован в APK для использования во время выполнения. – CommonsWare

ответ

0

Ха-ха-ха ROFL,

Так в конце концов, я попробовал много смешанный и матч, я даже установил андроид-студию и дал этой системе шанс, но после того, как потратил 2 часа, я даже не смог понять, «как запустить приложение», в конце концов я вернулся для затмения делали все Comobs сборки, очистки, изменения путей сборки и т. д. никто из них не работал.

Что изменилось, менялось рабочее пространство, и я строил проект с точно таким же кодом.

+0

Хороший трюк :) .. – sankalp

0

'Используйте этот код в XML для просмотра карты'

<com.google.android.gms.maps.MapView android:id="@+Id/mapView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 

'Добавить в вашей деятельности'

MapView mapView =(MapView) findViewById(R.id.mapView); 
+0

Я пробовал такую ​​же проблему !! – Techfist