GoogleService를 초기화하지
내 안드로이드 응용 프로그램에서 Google지도를 사용하고 있습니다. 키를 만들고 매니페스트 파일에 필요한 권한을 추가했습니다. 그러나 곧 응용 프로그램을 시작하면 디버거 에서이 메시지가 나타납니다.
Google 서비스를 초기화하지. 상태 : 10, 구글 서비스를 초기화하기위한 예상 리소스 'R.string.google_app_id'가 없습니다. google-services.json 또는 com.google.gms.google-services gradle 플러그인이 누락 수 있습니다.
무슨 일인지 잘 모르겠습니다. 지도가 작동하며 문제없이 사용할 수 있습니다. 내 gradle 파일에는 다음 항목이 있습니다.
'com.google.android.gms : play-services : 8.4.0'컴파일
불만이 무엇입니까?
당신은 구성 파일 생성 (배치 할 필요 google-services.json
에 의해) developer.google.com을 공식 문서의 2 단계에서 한 단계 같이, 여기
과정은 간단하다
- 프로젝트를 선택하거나 새 프로젝트를 만들 수 있습니다.
그런 다음 원하는 서비스 (이 경우 맵 서비스)를 선택한 후 구성 파일을 생성 할 수 있습니다.
Firebase 프로젝트로 마이그레이션 한 사람들은 Firebase 콘솔 로 이동 하여 프로젝트를 선택하고 설정에서 구성 파일을 사용할 수 있습니다.
다음과 같은 공식 문서의 3 단계에서 인용 여기
google-services.json
방금 다운로드 한 파일을 Android의 앱 / 또는 모바일 / 디렉토리에 복사하십시오.
추신 :이 답변을 내리는 사람들을 위해, 왜 그 투표를 거절 했습니까?
[Google의 제품 관리자에서]
google-services.json
아래 단계에 따라 Android 앱용 파일을 다운로드하고 복사하여 문제를 해결할 수 있습니다 .
- 이 링크 에서 앱 / 프로젝트 이름 및 Android 패키지 이름을 선택하고 클릭하십시오
Continue to Choose and configure services
. - 를 클릭하십시오
Continue to Generate Configuration files
. google-services.json
파일을 다운로드 하여 Android 프로젝트 의app/
또는mobile/
모듈 디렉토리에 복사하십시오 .
이전에 Google 프로젝트를 Firebase로 경우에 따라 프로젝트 설정 의 Firebase 콘솔 에서 업데이트 된 google-services.json을 얻을 수 있습니다 .
google_app_id는 자체가 아니라 프로젝트 내 앱을 프로젝트라고 다른 답변 중 하나에서 제안한대로 PROJECT_NUMBER를 복사하지 .
필자의 경우,이 오류의 원인은 Gradle 용 Google 서비스 플러그인과 Play Services 라이브러리가 호환되지 않는 버전이기 때문입니다. 호환되는 버전에 대한 지침 :
1) 프로젝트 레벨 build.gradle에 추가하십시오.
classpath 'com.google.gms:google-services:1.5.0-beta2'
2) 플러그인을 앱 레벨 build.gradle에 추가하십시오.
apply plugin: 'com.google.gms.google-services'
3) Android Studio를 사용하는 경우 애플리케이션의 build.gradle 파일의 섹션에 추가 할 수 있습니다.
dependencies {
compile "com.google.android.gms:play-services:8.3.0"
}
출처 : https://developers.google.com/cloud-messaging/android/client
나는 같은 문제를 해결하기 위해 만났고 공식적인 해결책을 얻습니다 .
단계는 다음과 가변합니다.
이 링크
google-services.json
에서 구성 파일 을 가져옵니다 .google-services.json
방금 다운로드 한 파일을 Android Studio 프로젝트의 app / 또는 mobile / 디렉토리에 복사하십시오 .프로젝트 레벨 build.gradle에 추가하십시오.
classpath 'com.google.gms:google-services:1.5.0-beta2'
앱 레벨 build.gradle에 추가하십시오.
apply plugin: 'com.google.gms.google-services'
이을 추가하십시오 앱 수준 build.gradle에 추가하십시오.
dependencies { compile "com.google.android.gms:play-services:8.3.0" }
Xamarin / Visual Studio Mac의 경우 Droid.csproj의 맨 아래에 추가해야합니다.
<Target Name="ProcessGoogleServicesJson" Condition=" '@(GoogleServicesJson)' != '' AND '$(AndroidApplication)' == 'True' AND '$(DesignTimeBuild)' != 'True'" BeforeTargets="$(ProcessGoogleServicesJsonBeforeTargets)" AfterTargets="$(ProcessGoogleServicesJsonAfterTargets)">
<Message Text="Using ProcessGoogleServicesJson override" Importance="high" />
<ProcessGoogleServicesJson GoogleServicesJsons="@(GoogleServicesJson)" IntermediateOutputPath="$(IntermediateOutputPath)" MonoAndroidResDirIntermediate="$(MonoAndroidResDirIntermediate)" AndroidPackageName="$(_AndroidPackage)">
<Output ItemName="_AndroidResourceDest" TaskParameter="GoogleServicesGeneratedResources" />
<Output ItemName="FileWrites" TaskParameter="GoogleServicesGeneratedResources" />
</ProcessGoogleServicesJson>
<ItemGroup>
<FileWrites Include="$(IntermediateOutputPath)\ProcessGoogleServicesJson.stamp" />
</ItemGroup>
https://github.com/xamarin/GooglePlayServicesComponents/issues/64
이 또한 나에게 일어난다. 제 경우에는 Android Studio가 주요한 코드를 삽입하려는 활동입니다. 코드를 제거하면 오류가 해결됩니다.
삽입 된 코드는 앱 인덱싱에 관한 것입니다.
https://developers.google.com/app-indexing/android/publish
그 당시에도 같은 문제가있었습니다. 필자의 경우 GCM 인 필요한 플레이 서비스 라이브러리 만 사용하여 해결할 수있었습니다.
대신 com.google.android.gms:play-services:8.4.0
, 내가 사용 com.google.android.gms:play-services-gcm:8.4.0
. 자세한 정보는 여기 를 참조 하십시오 . 이것은 또한 multidex 문제를 해결합니다.
그런 다음 @Radix와 @Alexander의 접근 방식을 모두 적용하여 .NET과 관련된 logcat에서 GCM이 출력되었습니다 메시지를 제거했습니다 google-services.json
.
플레이 서비스를 올바르게 설정하고 google-services.json
파일을 project/app
폴더에 넣은 후에도이 문제에 직면 한 사람들을 위해 실제 해결책은
Build > Rebuild Project
아마도 json 파일의 문자열은 전체 재 빌드가 수행 될 때까지 컴파일 된 리소스에 통합되지 않기 때문일 수 있습니다.
당신은 변경할 수 versionCode
및 versionName
당신의 Gradle을 파일에 앱을.
빠른 수정 내가 사용은하지 않도록 서명하는 것입니다. 프로덕션 코드를 생성하지 않으려는 경우 빌드 변형을 debug, localOldDebug 또는 localDebug로 설정할 수 있습니다.
Android Studio의 왼쪽 하단에있는 Build Variants를 클릭합니다.
생성-서명 된 -apk-android-studio 비활성화 방법
실수로 제거하는 다른 솔루션이 있습니다.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
이것을 추가하고 작업은 새로운 솔루션입니다.
참고 URL : https://stackoverflow.com/questions/34365369/googleservice-failed-to-initialize
'IT' 카테고리의 다른 글
Java 스택 크기를 늘리는 방법은 무엇입니까? (0) | 2020.07.28 |
---|---|
“java.lang.OutOfMemoryError : 새 기본 언어를 사용할 수 없습니다” (0) | 2020.07.28 |
Node.js에 대한 자연스러운 함수 작성 방법 (0) | 2020.07.28 |
상태 표시 줄이 캐시 된 시간이 없습니다. (0) | 2020.07.28 |
공유 라이브러리에서 동적으로 링크 될 때 전역 및 정적 변수는 어떻게? (0) | 2020.07.27 |