Я получаю сообщение об ошибке в Android Studio по следующим причинам:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
Я поместил это в свой манифест, <meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
И compile 'com.google.android.gms:play-services:6.5.87'
в моих зависимостях Gradle.
Я также загрузил необходимые файлы sdk.
Почему я все еще получаю эту ошибку?
7 ответов
Даже если это официально не указано в руководстве, вы должны использовать следующий импорт:
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
Вопрос старый, но теперь, когда GoogleApiClient устарел, я обнаружил, что больше не могу его использовать и что следует использовать его замену, подклассы GoogleApi.
Просто для регистрации проблемы.
Это происходит при конфликте версий. Проверьте сообщение сборки, и оно предложит версию, которую вы должны импортировать.
Версия пути к классам в основном Gradle (classpath 'com.google.gms:google-services:3.1.0'
) должна быть связана с версией jar, включенной в Gradle приложения (compile 'com.google.android.gms:play-services-auth:11.0.0'
)
Добавьте следующие строки в свои зависимости, чтобы использовать интерфейсы API Google Places.
dependecies{compile 'com.google.android.gms:play-services:11.2.0'
testCompile 'junit:junit:4.12'
}
У меня была эта проблема, только с import com.google.android.gms.common.api.GoogleApiClient
; к сожалению, я переместил <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" />
после его относительной активности <activity android:name=".MapsActivity" android:label="@string/title_activity_maps" ></activity>
. Я вернулся в предыдущее состояние, и проблема была решена.
Чтобы мое приложение успешно скомпилировалось, мне пришлось сделать следующее:
- Обновите мой build.gradle с помощью
'com.google.android.gms:play-services:<version>'
При необходимости добавьте импорт:
import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Status;
В Android Studio: File -> Invalidate / Restart ...
Чистая сборка
В интересах искателей:
Если вы следуете руководству по Android, которое относится к этому, вы можете добавить зависимость через пользовательский интерфейс.
- В Android Studio перейдите в Файл> Структура проекта.
- Перейдите на вкладку зависимостей.
- С правой стороны добавьте «Зависимость библиотеки».
- Введите "com.google.android.gms: play-services" в поле поиска и выберите соответствующую зависимость.
- Затем следуйте ответу @Dmac
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.