Как изменить Android Studio в соответствии с Android Pie?

Вчера я обновил программное обеспечение своего телефона до нового Android Pie, и внезапно мой проект студии Android перестал работать со следующим кодом в журнале:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.user.mahaluz, PID: 26774
    java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed
        at android.graphics.Canvas.checkValidClipOp(Canvas.java:779)
        at android.graphics.Canvas.clipRect(Canvas.java:918)
        at com.alamkanak.weekview.WeekView.drawHeaderRowAndEvents(WeekView.java:591)
        at com.alamkanak.weekview.WeekView.onDraw(WeekView.java:488)
        at android.view.View.draw(View.java:21859)
        at android.view.View.updateDisplayListIfDirty(View.java:20732)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.draw(View.java:21862)
        at com.android.internal.policy.DecorView.draw(DecorView.java:1083)
        at android.view.View.updateDisplayListIfDirty(View.java:20732)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:725)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:731)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:840)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3909)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3683)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2991)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1850)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8455)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:6981)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
E/UncaughtException: java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed
        at android.graphics.Canvas.checkValidClipOp(Canvas.java:779)
        at android.graphics.Canvas.clipRect(Canvas.java:918)
        at com.alamkanak.weekview.WeekView.drawHeaderRowAndEvents(WeekView.java:591)
        at com.alamkanak.weekview.WeekView.onDraw(WeekView.java:488)
        at android.view.View.draw(View.java:21859)
        at android.view.View.updateDisplayListIfDirty(View.java:20732)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.updateDisplayListIfDirty(View.java:20718)
        at android.view.View.draw(View.java:21585)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4546)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4321)
        at android.view.View.draw(View.java:21862)
        at com.android.internal.policy.DecorView.draw(DecorView.java:1083)
        at android.view.View.updateDisplayListIfDirty(View.java:20732)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:725)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:731)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:840)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3909)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3683)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2991)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1850)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8455)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:6981)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)

Насколько я понял, прочитав об этой ошибке, она возникает из-за изменения обновлений программного обеспечения и несоответствия версий внутри файлов build.gradle, так что это мои файлы build.gradle:

Проект: приложение -

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
        maven { url "http://jcenter.bintray.com"}

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Модуль: приложение -

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.example.user.mahaluz"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //noinspection GradleCompatible
    testImplementation 'junit:junit:4.12'

    //google maps api
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.android.gms:play-services-places:16.0.0'

    //Firebase
    implementation 'com.google.firebase:firebase-crash:16.2.1'
    implementation 'com.firebase:firebase-client-android:2.5.2'
    implementation 'com.google.firebase:firebase-core:16.0.7'
    implementation 'com.google.firebase:firebase-database:16.0.6'
    implementation ("com.firebaseui:firebase-ui-database:2.1.1") {
        exclude group: "com.android.support", module: "recyclerview-v7"
    }
    implementation 'com.google.firebase:firebase-storage:16.0.5'
    implementation 'com.google.firebase:firebase-firestore:18.0.0'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    implementation 'com.google.firebase:firebase-auth:16.1.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'

    //Calendar
    implementation 'com.github.alamkanak:android-week-view:1.2.6'
    implementation 'com.github.sundeepk:compact-calendar-view:3.0.0'
    implementation 'com.github.khacpv:Calendar-Day-View:1.0.5'
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    //Image tools
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    //Validation
    implementation 'com.basgeekball:awesome-validation:2.0'
    //Notification badge
    implementation 'com.nex3z:notification-badge:0.1.0'
    //Others
    implementation 'com.kevin:loopview:1.4.1'

    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Важно отметить, что приложение работает с моей активностью входа в систему, и после входа в систему и последующего достижения активности, а также после завершения метода onCreate() оно аварийно завершает работу с приведенным выше кодом журнала. Любая помощь будет оценена :)


person Adi Harel    schedule 11.02.2019    source источник
comment
почтовый индекс WeekView.java как ошибка в этой строке com.alamkanak.weekview.WeekView.drawHeaderRowAndEvents(WeekView.java:591)   -  person Kishore Jethava    schedule 11.02.2019
comment
@KishoreJethava это не может быть проблемой, он работал нормально, пока я не обновил программное обеспечение на своем устройстве, плюс, этот класс из реализации, которую я получил из github, я его не создавал   -  person Adi Harel    schedule 11.02.2019
comment
@PPartisan, это не дубликат, произошло то, что они использовали устаревший метод, которого у меня нет в моем коде, я дважды и трижды проверял ...   -  person Adi Harel    schedule 11.02.2019
comment
@Fantomas Это действительно та же ошибка, но у нее другое решение, поскольку проблема заключается в библиотеке; правильная повторяющаяся цель: stackoverflow.com/questions/50231950. Возможно, вы можете изменить ее и сэкономить несколько часов исследований другим, кто придет вот с такой же проблемой :)   -  person Adinia    schedule 28.08.2019
comment
@Adinia Добавлено к другому дубликату. Они оба, похоже, работают для разных случаев.   -  person Phantômaxx    schedule 29.08.2019
comment
@Fantômas Это работает, спасибо! Хотя первый - это скорее список обходных путей, а второй конкретно исправляет эту ошибку, когда она возникает в этой конкретной библиотеке com.alamkanak.weekview.WeekView.drawHeaderRowAndEvents(WeekView.java:591)   -  person Adinia    schedule 29.08.2019