Я работаю в приложении для массового использования, которое работает около 4 лет, в последнем выпуске было реализовано несколько новых библиотек, после этой реализации мы столкнулись с некоторыми проблемами при попытке проверить, доступны ли сервисы Google Play, это происходит только на устройствах Huawei с Android 8+. LogCat покажет нам эту трассировку стека
Причина: java.lang.IllegalStateException: тег метаданных в AndroidManifest.xml вашего приложения не имеет правильного значения. Ожидаемый 12451000, но найденный 4323000. У вас должно быть следующее объявление внутри элемента:
У нас есть правильные значения в манифесте:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="XXXXXXXXXXXXXXXXXXXXXX" />
Если мы следуем значению google_play_services_version, мы можем найти ожидаемое значение из play-services-basement-16.1.0.aar
<integer name="google_play_services_version">12451000</integer>
Это библиотеки, реализованные на gradle
implementation "com.android.support.constraint:constraint-layout:$constraint"
implementation "com.android.support:appcompat-v7:$support"
implementation "com.android.support:design:$support"
implementation "com.android.support:cardview-v7:$support"
implementation "com.android.support:recyclerview-v7:$support"
implementation "com.android.support:design:$support"
implementation "com.android.support:support-v4:$support"
implementation "com.android.support:mediarouter-v7:$support" //New Lib
implementation "com.android.support:animated-vector-drawable:$support" //New Lib
implementation "com.android.support:design:$support"
implementation "com.android.support:support-vector-drawable:$support"
//Play services
implementation "com.google.android.gms:play-services-maps:$playServices"
implementation "com.google.android.gms:play-services-analytics:$playServices"
implementation "com.google.android.gms:play-services-gcm:$playServices"
implementation "com.google.android.gms:play-services-safetynet:$playServices"
implementation "com.google.android.gms:play-services-wearable:$playServices"
С этой версией
ext {
//build
sdkCompileVersion = 27
sdkMinVersion = 16
sdkTargetVersion = 27
sdkBuildToolsVersion = '27.0.3'
//dependencies
support = '27.1.0'
playServices = '16.0.0'
newRelic = '5.18.0'
constraint = '1.1.2'
}
У кого-нибудь есть идеи, как решить эту проблему?