2014-02-23 4 views
0

Я получил эту ошибку

NoClassDefFoundError: com.google.android.gms.R$styleable 

Я читал много учебников, но это не помогло мне.

  1. Структура проект -> Импорт модуль -> Google Play услуга Lib
  2. Моего проекта -> Module Dependency -> добавить сервисы Google Play Lib
  3. Добавить Сервисы Google Play .jar файл.

Мой файл XML:

<?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" > 
<fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.MapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
</RelativeLayout> 

Мой Деятельность:

public class FlatOnMap extends Activity { 
private GoogleMap googleMap; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.map_activity); 
    try { 
     initilizeMap(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
private void initilizeMap() { 
    if (googleMap == null) { 
     googleMap = ((MapFragment) getFragmentManager().findFragmentById(
       R.id.map)).getMap(); 
     if (googleMap == null) { 
      Toast.makeText(getApplicationContext(), 
        "Sorry! unable to create maps", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 
@Override 
protected void onResume() { 
    super.onResume(); 
    initilizeMap(); 
} 
} 

Мой манифеста:

<?xml version="1.0" encoding="utf-8"?> 

<uses-sdk 
     android:minSdkVersion="7" 
     android:targetSdkVersion="17"/> 
<permission 
     android:name="ua.khuta.ALHANAi.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 

<uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

<uses-permission android:name="ua.khuta.ALHANAi.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<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-permission android:name="android.permission.GET_ACCOUNTS"/> 
<uses-permission android:name="android.permission.CALL_PHONE"/> 

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     > 
    <activity android:name=".MyActivity" 
       android:label="@string/app_name" 
       android:theme="@style/Theme.AppCompat.Light.DarkActionBar" 
       android:screenOrientation="portrait" 
      > 
     <meta-data 
       android:name="android.app.default_searchable" 
       android:value=".SearchResultsActivity"/> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <activity android:name=".SearchResultsActivity" 
       android:screenOrientation="portrait" 
       android:theme="@style/Theme.AppCompat.Light.DarkActionBar" 
      > 
     <intent-filter> 
      <action android:name="android.intent.action.SEARCH"/> 
     </intent-filter> 
     <meta-data 
       android:name="android.app.searchable" 
       android:resource="@xml/searchable"/> 
    </activity> 
    <activity android:name=".FlatInfo"/> 
    <activity android:name=".FlatOnMap"/> 
    <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="myApiKey"/> 
</application> 

</manifest> 

Мое решение: Я обновил мои сервисы google play и импортировал его снова, но я не добавляю файл .jar. 1. Импорт модуля -> google_play_servises_lib проект 2. + Добавить библиотека -> google_play_servises_lib

+0

вы используете Android Studio? – Emmanuel

+0

Я использую Intellij Idea –

ответ

1

Я вижу некоторые потенциальные проблемы:

  1. Вы могли бы импортированные com.google.android.gms.R где-то в вашем коде, а не тот, который принадлежит к вашему приложению.
  2. <permission> на ваш манифест устарел; больше не нужны.
  3. <uses-permission android:name="ua.khuta.ALHANAi.permission.MAPS_RECEIVE"/> устарела
  4. У вас не хватает это в вашей <application>:

    <meta-data 
        android:name="com.google.android.gms.version" 
        android:value="@integer/google_play_services_version" /> 
    
  5. Вы объявлен Activity (MyActivity) как MAIN и LAUNCHER дважды в вашем AndroidManifest; удалить один из <intent-filter>...</intent-filter>:

    <intent-filter> 
         <action android:name="android.intent.action.MAIN"/> 
         <category android:name="android.intent.category.LAUNCHER"/> 
        </intent-filter> 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN"/> 
         <category android:name="android.intent.category.LAUNCHER"/> 
        </intent-filter> 
    
+0

Я попробую сейчас –

+0

Android Resource Packaging: \ AndroidManifest.xml: 63: error: Ошибка: не найден ресурс, который соответствует указанному имени (в 'value' со значением '@ integer/google_play_services_version'). Но когда я нажимаю cntrl и «google_play_services_version» - я открыл этот файл –

+0

. Тогда я думаю, что это определенно означает, что вы не импортируете библиотеку правильно. – Emmanuel

Смежные вопросы