Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Failed looking up window with support version 27.0.0

After the update of supportVersion to 27.0.0 ONLY on Android 5.0.2 the app crash with this stacktrace:

W/WindowManager: Failed looking up window
            java.lang.IllegalArgumentException: Requested window android.view.ViewRootImpl$W@f004691 does not exist
            at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8426)
            at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8417)
            at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2558)
            at com.android.server.wm.Session.remove(Session.java:186)
            at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:2920)
            at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5390)
            at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3223)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.os.HandlerThread.run(HandlerThread.java:61)
            at com.android.server.ServiceThread.run(ServiceThread.java:46)

Both on the device and on the emulator.

If I put 26.0.2 as supportVersion, the app still works normally as usual.

UPDATE

The problem persist with supportVersion 27.0.1

UPDATE 2

Project gradle

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'com.google.gms:google-services:3.0.0'
        classpath 'io.fabric.tools:gradle:1.24.2'
    }
}

plugins {
    id "com.diffplug.gradle.spotless" version "3.6.0"
}

allprojects {
    repositories {
        google()
        jcenter()
        jcenter { url = 'http://dl.bintray.com/swrve-inc/android' }
        maven { url 'https://maven.fabric.io/public' }
        maven { url 'http://maven.localytics.com/public' }
        maven { url 'http://dl.bintray.com/teads/TeadsSDK-android' }
        maven { url 'http://maven.apptimize.com/artifactory/repo' }
        maven { url 'https://comscore.bintray.com/Analytics' }
    }
}

ext {
    //APPLICATION
    compileSdkVersion = 27
    buildToolsVersion = '27.0.1'
    minSdkVersion = 19
    targetSdkVersion = 27

    //LIBRARIES
    timberVersion = '4.6.0'
    guavaVersion = '20.0'
    multidexVersion = '1.0.2'
    supportVersion = '27.0.1'
    constraintVersion = '1.0.2'
    playServiceVersion = '11.4.0'
    commonLangVersion = '3.5'
    jacksonVersion = '2.4.2'
    appsFlyerVersion = '4.7.1'
    facebookAudienceVersion = '4.26.1'
    facebookSkdVersion = '4.26.0'
    facebookAdapterVersion = '4.26.1.0'
    flurryVersion = '6.9.2'
    googleTrackingVersion = '2.2.4'
    crashliticsVersion = '2.6.8'
    swrveVersion = '4.10.1'
    swrveLocationVersion = '1.3'
    pubnativeVersion = '2.0.5'
    localyticsVersion = '4.3.1'
    teadsVersion = '2.4.13'
    oguryPresageVersion = '2.1.21'
    evernoteAndroidJobVersion = '1.1.11'
    apptimizeVersion = '2.13.5'
    comScoreVersion = '5.5.1'
    bottomBarVersion = '2.3.1'
    rxJavaVersion = '2.1.6'
    rxAndroidVersion = '2.0.1'

    //TEST LIBRARIES
    testsVersion = '1.0.1'
    espressoVersion = '3.0.1'
    junitVersion = '4.12'
    mockitoVersion = '1.10.19'
    powermockVersion = '1.6.6'
    robolectricVersion = '3.5'
    assertjVersion = '1.2.0'

    //PUBNATIVE ADAPTERS
    pnFlurryVersion = '6.9.2'
    pnAdmobVersion = '9.6.1'

}

App gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'io.fabric'
apply plugin: 'com.diffplug.gradle.spotless'

spotless {
    kotlin {
        target "**/*.kt"
        ktlint()
    }
}

def versionMajor = 8
def versionMinor = 8
def versionPatch = 8
def versionBuild = 8 

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    flavorDimensions "std"

    defaultConfig {
        dimension "std"

        applicationId "xxx.yyy.zzz"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion

        versionCode versionMajor * 1000 + versionMinor * 100 + versionPatch * 10 + versionBuild
        versionName "${versionMajor}.${versionMinor}.${versionPatch}"

        //APP VERSION NAME
        buildConfigField "String", "VERSION_NAME_PREFIX", "\"zzzz\""

        //MARKET CONFIG
        buildConfigField "String", "MARKET_NAME", "\"GooglePlay\""
        buildConfigField "String", "MARKET_ENDPOINT", "\"market://details?id=\""
        buildConfigField "String", "MARKET_BACKOFF_ENDPOINT", "\"https://play.google.com/store/apps/details?id=\""

        multiDexEnabled true

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        ....
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }

    buildTypes {
        debug {
            // Disable fabric build ID generation for debug builds
            ext.enableCrashlytics = false
        }
        release {
            minifyEnabled true
            proguardFiles 'acb.txt'
            zipAlignEnabled true
        }
    }
    lintOptions {
        disable 'MissingTranslation'
        checkReleaseBuilds true
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
        fatal 'StopShip'

    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {

    //CORE LIB
    implementation "com.jakewharton.timber:timber:${rootProject.ext.timberVersion}"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    implementation "com.google.guava:guava:${rootProject.ext.guavaVersion}"
    implementation "com.android.support:multidex:${rootProject.ext.multidexVersion}"
    implementation "com.android.support:multidex-instrumentation:${rootProject.ext.multidexVersion}"
    implementation "com.android.support:design:${rootProject.ext.supportVersion}"
    implementation "com.android.support:cardview-v7:${rootProject.ext.supportVersion}"
    implementation "com.android.support.constraint:constraint-layout:${rootProject.ext.constraintVersion}"
    implementation "com.google.android.gms:play-services-identity:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-base:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-analytics:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-gcm:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-location:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-maps:${rootProject.ext.playServiceVersion}"
    implementation "com.google.android.gms:play-services-ads:${rootProject.ext.playServiceVersion}"
    implementation "org.apache.commons:commons-lang3:${rootProject.ext.commonLangVersion}"
    implementation "com.fasterxml.jackson.core:jackson-databind:${rootProject.ext.jacksonVersion}"
    implementation "com.fasterxml.jackson.core:jackson-core:${rootProject.ext.jacksonVersion}"
    implementation "com.fasterxml.jackson.core:jackson-annotations:${rootProject.ext.jacksonVersion}"
    implementation "io.reactivex.rxjava2:rxjava:${rootProject.ext.rxJavaVersion}"
    implementation "io.reactivex.rxjava2:rxandroid:${rootProject.ext.rxAndroidVersion}"

    //SDK
    implementation "com.appsflyer:af-android-sdk:${rootProject.ext.appsFlyerVersion}@aar"
    implementation "com.facebook.android:facebook-android-sdk:${rootProject.ext.facebookSkdVersion}"
    implementation "com.facebook.android:audience-network-sdk:${rootProject.ext.facebookAudienceVersion}"
    implementation "com.flurry.android:analytics:${rootProject.ext.flurryVersion}"
    implementation "com.flurry.android:ads:${rootProject.ext.flurryVersion}"
    implementation files("libs/GoogleConversionTrackingSdk-${rootProject.ext.googleTrackingVersion}.jar")
    implementation("com.crashlytics.sdk.android:crashlytics:${rootProject.ext.crashliticsVersion}@aar") {
        transitive = true
    }

    //TEADS VIDEO
    implementation("tv.teads.sdk:androidsdk:${rootProject.ext.teadsVersion}:fullRelease@aar") {
        transitive = true
    }

    //OGURY - PRESAGE
    implementation files("libs/presage-lib-${rootProject.ext.oguryPresageVersion}-obfuscated.jar")

    //PUBNATIVE
    implementation "net.pubnative:sdk:${rootProject.ext.pubnativeVersion}"

    //PUBNATIVE - ADAPTERS
    implementation "net.pubnative:sdk.adapter.admob:${rootProject.ext.pnAdmobVersion}"
    implementation "net.pubnative:sdk.adapter.flurry:${rootProject.ext.pnFlurryVersion}"

    //ADMOB - ADAPTERS
    implementation "com.google.ads.mediation:facebook:${rootProject.ext.facebookAdapterVersion}"

    //SWRVE PLOT
    implementation "com.swrve.sdk.android:swrve-google:${rootProject.ext.swrveVersion}"
    implementation(name: "swrve-location-${rootProject.ext.swrveLocationVersion}", ext: "aar")

    //LOCALYTICS
    implementation "com.localytics.android:library:${rootProject.ext.localyticsVersion}"

    //JOB
    implementation "com.evernote:android-job:${rootProject.ext.evernoteAndroidJobVersion}"

    //APPTIMIZE
    implementation "com.apptimize:apptimize-android:${rootProject.ext.apptimizeVersion}"

    //COMSCORE
    implementation "com.comscore:android-analytics:${rootProject.ext.comScoreVersion}"

    //BOTTOM BAR
    implementation "com.roughike:bottom-bar:${rootProject.ext.bottomBarVersion}"

    //TEST
    androidTestImplementation "com.android.support:support-annotations:${rootProject.ext.supportVersion}"
    androidTestImplementation "com.android.support.test:runner:${rootProject.ext.testsVersion}"
    androidTestImplementation "com.android.support.test:rules:${rootProject.ext.testsVersion}"
    androidTestImplementation "com.android.support.test.espresso:espresso-core:${rootProject.ext.espressoVersion}"
    androidTestImplementation "com.android.support.test.espresso:espresso-intents:${rootProject.ext.espressoVersion}"
    androidTestImplementation("com.android.support.test.espresso:espresso-contrib:${rootProject.ext.espressoVersion}") {
        exclude group: 'com.android.support', module: 'appcompat-v7'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'com.android.support', module: 'design'
        exclude module: 'recyclerview-v7'
    }

    testImplementation "junit:junit:${rootProject.ext.junitVersion}"
    testImplementation "org.mockito:mockito-core:${rootProject.ext.mockitoVersion}"
    testImplementation "org.powermock:powermock-api-mockito:${rootProject.ext.powermockVersion}"
    testImplementation "org.powermock:powermock-module-junit4:${rootProject.ext.powermockVersion}"
    testImplementation "org.powermock:powermock-module-junit4-rule:${rootProject.ext.powermockVersion}"
    testImplementation "org.powermock:powermock-classloading-xstream:${rootProject.ext.powermockVersion}"
    testImplementation "org.robolectric:robolectric:${rootProject.ext.robolectricVersion}"
    testImplementation "org.robolectric:shadows-multidex:${rootProject.ext.robolectricVersion}"
    testImplementation "org.robolectric:shadows-httpclient:${rootProject.ext.robolectricVersion}"
    testImplementation "com.android.support:support-annotations:${rootProject.ext.supportVersion}"
    testImplementation "com.squareup.assertj:assertj-android:${rootProject.ext.assertjVersion}"
}

apply plugin: 'com.google.gms.google-services'
like image 458
Nicola De Fiorenze Avatar asked Nov 06 '17 13:11

Nicola De Fiorenze


1 Answers

In my case it was due to the AppCompatActivity extend for the start activity, When it changed to Activity it is working fine!

like image 66
Vishnuvardhan Avatar answered Nov 06 '22 16:11

Vishnuvardhan