0

Android 모바일 버전 4.4 (롤리팝)에 내 Android 앱을 배포하면 Google Play 서비스를 업데이트하지 않으면 앱이 실행되지 않는다는 메시지가 나타납니다.Google Play 서비스 API의 역 호환 버전

나는 안드로이드 모바일을보고 구글 플레이 서비스 버전이 5.1.89임을 알 수있다. 난 내 코드에서 내가 어떤 안드로이드 모바일 앱 전문가 날이 문제를 해결하는 데 도움을 줄 수 있습니다 구글 플레이 서비스

를 업데이트하는 사용자에게 팝업을 보여 안드로이드하지 않을 8.4.0

을 사용하고 알고있다. 사용자에게 Google 서비스 업데이트를 요청하지 않고 내 앱을 이전 버전과 호환되게하려면 어떻게해야하나요? 빌드시 응용 프로그램에 연결되어있는 클라이언트 라이브러리로, 상기 Google Play Services overview에 설명 된대로

apply plugin: 'com.android.application' 

    android { 
compileSdkVersion 23 
buildToolsVersion "23.0.1" 

buildTypes { 
    debug { 
     debuggable true 
    } 
} 
     defaultConfig { 
    applicationId "com.me" 
    minSdkVersion 17 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
dexOptions { 
    preDexLibraries = false 
} 
packagingOptions { 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE.txt' 
} 
lintOptions { 
    checkReleaseBuilds false 
} 

    } 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.0.0' 
compile 'com.android.support:design:23.0.0' 
compile 'com.android.support:cardview-v7:23.0.0' 
compile 'com.google.android.gms:play-services-maps:8.4.0' 
compile 'com.google.android.gms:play-services-location:8.4.0' 

}

+1

필연적입니다. 그렇지 않은 경우 버전을 다운 그레이드해야하지만 일부 기능은 희생 될 것이며 오래된 버그가 다시 발생하게됩니다. – Enzokie

+1

5.0. +로 설정하면'build.gradle' – Nikhil

+0

에서 'comile.android.gms : play-services : 5.0. +''컴파일을 추가하려고합니다. 내 앱은 마쉬멜로 버전과 함께 Android 모바일에서 실행됩니다. Google 서비스 8.4.0? – user1439582

답변

3

이 서비스는 두 부분으로 구성되어 다음과 같이

내 build.gradle입니다 프로세스 간 통신 (IPC)을 사용하여 클라이언트 라이브러리가 연결되는 Google Play 서비스 APK와 마찬가지로

Google Play 서비스의 새로운 기능을 사용하고 싶거나 나중 릴리스에서 해결 된 버그가 발생한 경우 클라이언트 라이브러리 만 업그레이드하면됩니다.

Google Play 서비스 APK는 실제 Google 서비스를 애플리케이션에 제공하는 백그라운드 서비스로 실행됩니다. 이 분할 모델을 통해 Google은 이동 통신사 또는 장치 제조업체가 이러한 수정 프로그램을 구현할 때까지 기다리지 않고도 새로운 기능, 서비스 업데이트 및 치명적인 버그 수정을 최종 사용자 장치에 신속하게 적용 할 수 있습니다.

결과적으로 Google Play 서비스 APK는 개발자 라이브러리가 업데이트 될 때마다 개발자 애플리케이션이 손상되는 것을 방지하기 위해 이전에 출시 된 버전의 클라이언트 라이브러리와 역 호환되어야합니다.

그러나 반대는 사실이 아닙니다. 특정 버전의 클라이언트 라이브러리를 사용하여 애플리케이션을 구축하는 경우 설치된 Google Play 서비스 APK 버전이 그보다 더 오래되어서는 안됩니다.

라이브러리 버전 5.1.89를 빌드하면 앱이 APK 버전 8.4.0에서 작동하지만 설치된 버전이 5.0.0 인 경우에는 작동하지 않습니다.

잘 작동하는 애플리케이션은 Google Play 서비스 setup guide에 설명 된대로 서비스에 액세스하기 전에 설치된 Google Play 서비스 APK의 가용성 및 버전을 항상 확인합니다. 이는 최종 사용자에게 기기에서 Google Play 서비스를 업데이트하라는 메시지가 표시 될 때 실제로 보이는 내용이며 최종 사용자의 기기에서 업데이트를 강제로 수행 할 수 없기 때문에 애플리케이션 개발자가 할 수있는 최선의 방법입니다. 대안은 응용 프로그램이 충돌하는 것입니다.