Android MapView: не удалось найти клиент фабрики соединений

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

Кроме того, я пробовал примеры кодов со многих сайтов, и там тоже была та же проблема. (Проблема в том, что в производном классе MapActivity я вижу grid, но карта не загружается, когда выдается вышеупомянутое исключение)

Я попробовал использовать свои собственные API key, а также ключи, уже присутствующие в примере кода. А также пробовал на устройстве с включенной и отключенной опцией «Местоположение».

Пожалуйста, окажите мне вашу помощь.

Ниже используется один файл манифеста...

**

<permission
      android:name="com.Example.appl.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>

<uses-permission android:name="com.Example.appl.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

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


    <activity
        android:name="com.Example.appl.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=".MHomeActivity"></activity>





</application>

**


person Mohit_Jaiswal    schedule 07.02.2013    source источник
comment
у тебя есть проблемы?   -  person Android_coder    schedule 07.02.2013
comment
Привет, Шиварадж, пожалуйста, проверьте строку темы на наличие исключения, с которым я столкнулся, а также в журнале я обнаружил ошибку сервера 3...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
Вы использовали это разрешение ‹uses-permission android:name=android.permission.INTERNET /›?   -  person Android_coder    schedule 07.02.2013
comment
Да, Сиварадж, я добавил, а также добавил COARSE.FINE и другие. Не только это, но и попытка добавления разрешений, таких как ЧТЕНИЕ/ЗАПИСЬ, GPRS и т. д., но все еще проблема...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
Вы можете опубликовать свой журнал и манифест здесь?   -  person Android_coder    schedule 07.02.2013
comment
Конечно, знаю.. минутку...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
Эй, пожалуйста, проверьте то же самое ниже моего поднятого запроса...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
где вы использовали интернет-разрешение?   -  person Android_coder    schedule 07.02.2013
comment
секундочку, может быть, здесь не видно полного контента.. Позвольте мне опубликовать эту часть в комментарии...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
‹?xml version=1.0 encoding=utf-8?› ‹манифест xmlns:android=schemas.android .com/apk/res/android package=com.Mezzotint.docadvice android:versionCode=1 android:versionName=1.0 › ‹uses-sdk android:minSdkVersion=3 android:targetSdkVersion=17 /› ‹uses-permission android:name=android.permission.INTERNET/›   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
это между sdk и тегом приложения, как вы видите выше...   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
И, на самом деле, я не понимаю, как я мог скопировать из LogCat, чтобы предоставить вам исключение.   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
какая у вас версия гугл апи?   -  person Android_coder    schedule 07.02.2013
comment
Это API Google[Android 4.0]   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
будете ли вы использовать это разрешение ‹uses-permission android:name=android.permission.ACCESS_FINE_LOCATION /› и проверьте android:minSdkVersion=7 один раз   -  person Android_coder    schedule 07.02.2013
comment
Я также тестировал эти теги.   -  person Mohit_Jaiswal    schedule 07.02.2013
comment
‹uses-sdk android:minSdkVersion=3 android:targetSdkVersion=17 /› ‹uses-permission android:name=android.permission.INTERNET/› ‹uses-permission android:name=android.permission.ACCESS_NETWORK_STATE/› ‹uses-permission android:name=android.permission.ACCESS_COARSE_LOCATION/› ‹uses-permission android:name=android.permission.ACCESS_FINE_LOCATION/› ‹uses-permission android:name=android.permission.ACCESS_LOCATION_EXTRA_COMMANDS/›..Пожалуйста, проверьте...   -  person Mohit_Jaiswal    schedule 07.02.2013


Ответы (4)


Наконец, после двух дней возни, я все еще получил решение, если у кого-то есть лучшее, пожалуйста, обновите меня.

То, что я сделал, просмотрев так много потоков и ссылок, я узнал, что в приведенном выше коде/манифесте нет ничего плохого, поэтому я копаюсь в ключе Google Map API, и ниже решение видит меня путь... (Обратите внимание, что я занимаюсь разработкой над Mac).

Прежде всего, я открываю свой терминал и там я получаю доступ к папке Java и в ней папке bin, затем введите следующую команду под командой: -

***keytool -list -alias androiddebugkey -keystore \User\.android\debug.keystore -storepass android -keypass android***

Обратите внимание, что в приведенной выше команде "\ User.android\debug.keystore" это путь, по которому хранится ваш ключ отладки Android, в случае, если в eclipse вы хотите найти этот путь (может быть, он отличается в вашей системе), используйте следующий:

**eclipse->window->preferences->Android->Build** 

Итак, когда вы запустите приведенную выше команду, вы найдете ключ MD5, а затем вам нужно получить доступ к следующей ссылке: -

https://developers.google.com/maps/documentation/android/v1/maps-api-signup

Здесь внизу вы предоставите полученный выше ключ MD5, и он сгенерирует для вас ключ API для отладки. Вот и все, затем предоставьте этот ключ API либо в требуемом xml, либо в кодировании (зависит от того, как вы кодируете).

Но это положение для v1. Если кто-то нашел способ для v2, пожалуйста, обновите эту тему.

person Mohit_Jaiswal    schedule 08.02.2013
comment
это первое реальное решение, которое я нашел. - person rkmax; 20.02.2013
comment
Спасибо, rkmax за отзыв. - person Mohit_Jaiswal; 20.02.2013
comment
Вы нашли решение API Maps API v2 для использования с Android 10? - person rkmax; 20.02.2013
comment
Привет, rkmax, на самом деле я не выделял свою задачу для v2, так как мне нужно доставить проект, но мне нужно это сделать, я сообщу вам, и если вы найдете что-то, пожалуйста, обновите этот пост. - person Mohit_Jaiswal; 21.02.2013
comment
я нашел решение, прочитайте мой ответ. Он отлично работает на Galaxy ACE - person rkmax; 21.02.2013

Проверьте, добавили ли вы библиотеку карт в файл android-manifest внутри тега приложения.

<uses-library android:name="com.google.android.maps" />
person user1744952    schedule 07.02.2013
comment
Прошу прощения за опоздание... Чувак, я уже сохранил этот тег в своем манифесте внутри тега приложения... Пожалуйста, предложи мне то, что, по твоему мнению, может быть причиной этой проблемы... - person Mohit_Jaiswal; 07.02.2013

Я искал вашу проблему, у меня есть решение, и, приведенное ниже, пожалуйста, обратитесь к этим...

Не удалось получить клиент фабрики соединений в logcat

Не удалось получить клиент фабрики соединений

person Android_coder    schedule 07.02.2013
comment
Это не решение, поскольку это не проблема, связанная с очисткой и повторным запуском кода... Это серьезная проблема, с которой я столкнулся со вчерашнего утра и все еще продолжаю... - person Mohit_Jaiswal; 07.02.2013
comment
есть файл maps.jar в вашей библиотеке - person Android_coder; 07.02.2013
comment
откуда взять эту банку? - person Mohit_Jaiswal; 07.02.2013
comment
Я проверил, что jar уже присутствует в папке Google API в структуре... - person Mohit_Jaiswal; 07.02.2013

После прочтения и просмотра ответьте на вопрос об использовании API v2, даже если вы разрабатываете для Android 2.2.

Получить подпись SHA1

keytool -list -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android

получить что-то вроде (SHA1): 82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3

Получить API_KEY

Перейдите в Консоль Google Api в Службах, для которых установлено значение Google Maps Api v2, позже в разделе Доступ к API нажмите Создать новый Ключ Android или обновление, если оно у вас есть, поместите в диалоговое окно

82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3:82:73:C3;COM.PACKAGE.NAME

Добавить библиотеки

Добавьте google-play-services в свой проект. Перейдите к Project properties -> Android в разделе «Библиотека», нажмите «Добавить» и перейдите к sdk-android>/extras/google/google_play_services/libproject/google-play-services_lib.

Проверьте наличие библиотеки android-support-v4.jar в зависимостях вашего проекта.

Отредактируйте свой код

<!--AndroidManifest.xml-->
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<permission android:name="COM.PACKAGE.NAME.permission.MAPS_RECEIVE"></permission>
<uses-permission android:name="COM.PACKAGE.NAME.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!--inside <application> tag-->
<meta-data android:value="API_KEY" android:name="com.google.android.maps.v2.API_KEY"/>

в вашем классе Activity ваша потребность простирается от android.support.v4.app.FragmentActivity

//MainActivity.java

package COM.PACKAGE.NAME;    

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

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

}

и, наконец, вам нужно изменить свой activity_main.xml

<!--./res/layout/activity_main.xml-->
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>
person rkmax    schedule 21.02.2013
comment
Привет, спасибо за ваш быстрый ответ, но я также пробовал и тестировал в симуляторе, а также в своем собственном углероде (серия A1 +) и мобильном телефоне Samsung, я столкнулся с той же проблемой ... но позвольте мне еще раз и сообщу вам - person Mohit_Jaiswal; 21.02.2013
comment
Сегодня я протестировал его на своем Galaxy SIII с Android 4.1.1, и он работает хорошо! - person rkmax; 21.02.2013