2013-11-01 2 views
3

Я разрабатываю простое приложение для загрузки вида карты. Я следил за API. https://developers.google.com/maps/documentation/android/start#add_a_mapGoogle services добавлено приложение Force close с ошибкой log cat

НО

после того, как приложение исполнения идет принудительное закрытие и LogCat ERROR Тег мета-данных в AndroidManifest.xml вашего приложения не имеет правильное значение. Ожидаемое 4030500, но нашел 0. это мой манифест

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

<uses-sdk 
    android:minSdkVersion="12" 
    android:targetSdkVersion="13" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<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-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.maps.v2.API_KEY" 
     android:value="AIzaSyA5QozHkGwJP_9iJi7jtBV938T1wws02gA" /> 

    <activity 
     android:name="com.example.newgmaps.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> 

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 
</application> 

это мой основной XML

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

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:name="com.google.android.gms.maps.MapFragment"/> 

и это основная деятельность

package com.example.newgmaps; 

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

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@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; 
} 

}

+0

Покажите нам стек ! – WarrenFaith

+0

Проверьте это: http://stackoverflow.com/questions/19724113/google-play-services-update?noredirect1_comment29303121_19724113 –

+2

Я использовал этот блок , и он говорит, что приложение должно обновлять сервисные сервисы Google ... Не знаю, что это такое и как это сделать. –

ответ

3

ли эти 2 шага и дайте мне знать, пожалуйста

первое обновление в Google Play услуги, как показано здесь enter image description here

второй попробовать этот новый файл манифеста, который я создал для вас

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

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

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

    <uses-permission android:name="icom.example.newgmaps.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <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" > 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="4030500" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyA5QozHkGwJP_9iJi7jtBV938T1wws02gA" /> 

     <activity 
      android:name="com.example.newgmaps.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> 

дайте мне знать, если вы решили эту проблему также Спасибо

1

У меня такая же проблема при запуске приложения на моем 2012 N7 с запуском 4.3.

Я не думаю, что фактическая выпущена версия Play Services соответствует версии SDK в version.xml:

google_play_services_version 4030500 

Так это либо дело ждать обновления сервисов Google Play на Play Store, или, возможно, попробуйте изменить version.xml in google-play-services_lib.

+0

Забудьте сказать - это было после добавления строки метаданных в манифест. – meavydev

+0

Просто попробовал отредактировать файл version.xml, и он не сработал - ему требуется 4030500, так что это ожидание обновления Play Store или возврат к предыдущей версии services_lib. – meavydev

+0

да конечно такой же проблема здесь. Думаю, придется подождать .. в любом случае поддерживайте связь .. спасибо –

1

Если вы запустите менеджер Android SDK, вы увидите модуль Google Play для Froyo. Установите и используйте это вместо «новой» версии. Это сработало для меня.

0

пытаются добавить этот тег мета-данных в теге приложения в манифесте:

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 
+5

, которая дает мне ошибку в манифесте: не удается разрешить символ «@ integer/google_play_services_version» –

+2

Я добавил это в манифест. Нет ошибок, но он просит обновить игровые сервисы снова и снова ... –

+0

выполнить в реальном устройстве – Abdel

1

Google необходимо обновить сервисы Google Play версии 4.xxx enter image description here

1

Я добавил это ниже XML-кода в «AndroidManifest.xml»

<Application 
... 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
... 
</Application> 

Ошибка сбоя исчезла. Но когда я звоню ...

int iErrorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 

"iErrorCode" есть 2. 2 означает, как это

общественности статической окончательный ИНТ SERVICE_VERSION_UPDATE_REQUIRED Установленная версия Google Play услуги устарело , Вызывающая деятельность должна передать этот код ошибки getErrorDialog (int, Activity, int), чтобы получить локализованное диалоговое окно ошибки, которое разрешит ошибку при отображении. Константа Значение: 2 (0x00000002) Details...

А также LogCat сказал ...

W/GooglePlayServicesUtil (4728): службы Google Play устарели. Требуется 4030500, но нашел 3266136

Где версия кода "4030500" ??

[SDK] \ Extras \ Google \ google_play_services \ libproject \ Google-игра-services_lib \ Рез \ значения

Вы можете увидеть "version.xml". Открой это!

<?xml version="1.0" encoding="utf-8"?> <resources> 
    <integer name="google_play_services_version">4030500</integer> 
</resources> 

Peekaboo ~~! :) Вот почему мы получили этот код ошибки (2) при обновлении нового SDK и использовании новых «google-play-services-lib».

Хорошо! Понял! Давайте посмотрим мою версию Google Play на моем устройстве.

enter image description here

версия на моем телефоне «4.4.21» Там нет никаких проблем, я думаю. Что это "3266136"? Откуда это? Я не понимаю этого.

Если я это выясню, я уточню этот длинный ответ.

Удачи вам! Всем! :)

Обновлено 1: Я загрузил apk 4.4.22 и установил на свой телефон. Но LogCat все еще показывает мне «3266136». Это действительно странно. Я думаю, что Google-Team должна исправить это как можно скорее!

4.4.22 Download here...

Обновлено 2: В конце концов, я решил вниз класса "Google-игра-services_lib" и "андроид-поддержка-v4.jar" к предыдущей версии. Я буду ждать их. :)

+0

@ShootSahan Google обновил свой« игровой сервис lib »на прошлой неделе. Итак, эта проблема была решена. Я тестировал lib и хорошо работал. См. Это: http://android-developers.blogspot.kr/2014/01/google-play-services-41.html – cmcromance

2

Использовать предыдущую версию libproject Google Play Services на данный момент. Его можно скачать отсюда: https://dl-ssl.google.com/android/repository/google_play_services_3225130_r10.zip

Работал для меня.

Затем вы можете обновить это позже, когда Google сделает последнюю версию доступной для всех, но что-то подсказывает мне, что будет какое-то время, прежде чем это изменение распространится на все устройства там.