Android 无法查找支持版本 27.0.0 的窗口

标签 android android-studio build.gradle

supportVersion 更新为 27.0.0 后,仅在 Android 5.0.2 上应用崩溃并显示此堆栈跟踪:

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)

在设备和模拟器上。

如果我将 26.0.2 作为 supportVersion,应用程序仍然可以正常运行。

更新

问题仍然存在于 supportVersion 27.0.1

更新 2

项目等级

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'

}

应用程序等级

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'

最佳答案

在我的例子中,这是由于启动 Activity 的 AppCompatActivity 扩展,当它更改为 Activity 时,它工作正常!

关于Android 无法查找支持版本 27.0.0 的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47138088/

相关文章:

android - 在 Android Google Client API 和 SpreadSheet API 3.0 之间共享身份验证/ token

java - CertPathValidatorException:找不到证书路径的信任 anchor 。更新gradle和gradle插件后在android中

Android 启动应用程序内部 View

android - 同一 xml 中的选择器、图层列表和形状/位图

android - 无法在 Android Studio 上运行应用程序项目

android - 当我按下生成签名的 apk 时,我只得到 app-release-unaligned.apk

gradle - 升级到 5.5.1 后获取源集 "Could not get unknown property ' 的 gradle 错误 'groovy' srcDirs'

android - 从 Android 应用程序编译 Gradle 时出错 : The SDK Build Tools revision (24. 0.3) 对于项目而言太低

java - android可扩展 ListView 从firebase检索数据

java - 如何在点击后退按钮 5 次时显示插页式广告