Моё приложение использовало GCM сервис пуш уведомления. Всё работало нормально, пока я не обновил недавно версию SDK до 25
Примерно так выглядел файл app gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.frienddime.frienddime"
minSdkVersion 10
targetSdkVersion 23
versionCode 107
versionName "1.2.3"
}
...
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:cardview-v7:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.vk:androidsdk:+'
compile 'com.google.android.gms:play-services:8.3.0'
}
И вот после обновления стала вылетать вот эта ошибка. Строка кода, на которую указывает ошибка это как раз то место где сервис регистрации GCM пытается получить токен GCM.
FATAL EXCEPTION: IntentService[]
java.lang.IllegalAccessError: tried to access method android.support.v4.content.ContextCompat.<init>:(Ljava/lang/String;)V from class com.google.android.gms.iid.zzd
at com.google.android.gms.iid.zzd.zzdL(Unknown Source)
at com.google.android.gms.iid.zzd.<init>(Unknown Source)
at com.google.android.gms.iid.zzd.<init>(Unknown Source)
at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
at com.frienddime.frienddime.GCMRegistrationIntentService.registerGCM(GCMRegistrationIntentService.java:31)
at com.frienddime.frienddime.GCMRegistrationIntentService.onHandleIntent(GCMRegistrationIntentService.java:24)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)
Я попробовал поменять compileSdkVersion 25, buildToolsVersion "25.0.0", targetSdkVersion 25. Затем я нашёл в гугле что это дело в compile 'com.google.android.gms:play-services:8.3.0', что мол надо поменять на последнюю версию. Однако я попытался изменить на ту что рекомендовалась 9.8.0, но в результате грэйдл выдал ошибку, что эта версия несовместима с остальными библиотеками. Я попробовал самую последнюю версию 10.0.1, но то же самое. Я поменял версии у com.android.support на 25.1.0 и это тоже не помогло.
Почему происходит данная ошибка и как её решить?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не создается файлclass Ошибки в коде точно нет, тестил даже на самом простейшем примере HelloWorld
Есть класс MainActivity реализует интерфейс UpdateView
Захотелось в игру сделать секундомерЯ представляю это так: системное время идет и я в соответствии с ним выставляю изображения цифр