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

2024-05-13

更新后supportVersion to 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,该应用程序仍然可以正常工作。

UPDATE

问题仍然存在supportVersion 27.0.1

UPDATE 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'

就我而言,这是由于AppCompatActivity延长启动活动,当它更改为Activity它工作正常!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 无法查找支持版本 27.0.0 的窗口 的相关文章

  • Android spinner 将多列(连接)Sqlite 数据库加载到表中

    我正在学习如何创建一个从 SQLite 加载下拉列表的微调器 我有一个由旋转器和表格组成的用户界面 如果用户单击微调器 表的内容将根据微调器上选定的 ID 根据数据库加载 如果未选择名称 它将加载表中的所有内容 但是我找不到如何根据微调器上
  • Android NDK:断言失败:TARGET_PLATFORM 未定义

    使用 NDK r5b 时 当我使用以下命令在 jni 目录中进行构建时 NDK DIR ndk build 效果很好 但是当我切换到 r6b 只需以不同的方式设置 NDK DIR 并运行相同的命令时 我得到 usr local androi
  • 如何将参数传递给Workmanager DoWork方法

    我想安排任务在 24 小时后从数据库中删除 public class WorkManager extends Worker public WorkManager NonNull Context context NonNull WorkerP
  • 文本末尾有额外的换行符

    使用此方法设置文本后 我似乎得到了一些额外的换行符TextView message setText Html fromHtml message 我怎样才能删除这些 它们导致我的布局扭曲 因为它在输出中添加了两条额外的行 该字符串已通过以下方
  • NanoHTTPD 如何将上传的文件保存到SD卡文件夹

    如何将上传的文件保存到SD卡文件夹 目前它存储到 data data cache文件夹 文件名如 NanoHTTPD 一些随机数 我无法将其复制到 SD 卡中的任何文件夹位置 我想将文件保存到 SD 卡中前面提到的文件夹位置 其名称与从我的
  • 使用协程对任务进行排队

    我最近开始阅读有关协程的内容 我想询问某个场景 考虑一个带有一个按钮的简单屏幕 单击后 它会执行一堆打印语句和一些延迟 其间 到目前为止 我正在使用协程来实现这一目标 现在 我的问题是 如果用户反复向该按钮发送垃圾邮件 是否有一种方法可以将
  • 依赖于多个模块的 Gradle Android 单元测试

    我正在开发一个具有多个模块的项目 我们正在为应用程序编写 junit 测试用例 并且我们正在使用以下异常 开始试运行 java lang RuntimeException java lang ClassNotFoundException 下
  • 将对象传递给活动

    我可以在第一个活动中初始化对象并在所有活动中初始化对象吗 public class Calc int x int y public Calc int x int y this x x this y y public int sum retu
  • 在 Android 模拟器上运行 Google 地图 v2

    我尝试在我的 Android 应用程序中实现 Google 地图 v2 但不幸的是 我收到的不是地图 而是以下消息 是否可以在 Android 模拟器 平台 4 2 上运行这些地图 目前 引用 Google Android Map API
  • 在 Cordova / PhoneGap 中生成 iOS 和 Android 图标

    我有一个新创建的 Cordova 项目 其中包含以下内容config xml设置 使用来自http docs phonegap com en edge config ref images md html http docs phonegap
  • AndroidPlot:从 1 到 11 的域标签

    我已经在我的应用程序中实现了 AndroidPlot 除了 X 轴标签 从 0 到 10 之外 它工作得很好 我想显示 1 到 11 此外 Y 轴上的标签不会出现 我正在使用的代码 import java text DecimalForma
  • Android 上的 Facebook 社交插件

    我想集成 Facebook 的评论社交插件 https developers facebook com docs reference plugins comments https developers facebook com docs r
  • 在Android项目中引用(纯java)项目(找不到类)

    我试图在我的 Android 项目中引用一个纯 java 项目 gt Java 项目有一大堆我需要使用的类 哦 正如第一个回复所指出的 我正在使用 eclipse 是的 唯一的问题是 我总是找不到类 XXX 从方法 com example
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • Android动态功能模块,找不到资源

    当下载的功能模块发布到 Play 商店时 我在启动活动时遇到问题 它总是在下载模块活动中的 setContentView 上崩溃 java lang RuntimeException Unable to start activity Com
  • 访问手机内部存储以推送 SQLite 数据库文件

    我正在使用 Netbeans 和 java 开发我的 Android 应用程序 当我使用模拟器时 我可以访问文件资源管理器并通过访问以下路径将 SQLite 数据库插入到设备内存中 data data com example helloan
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • 如何从 Android 应用程序调用 REST API? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 android 新手 也是编程新手 如何从 Android 应用程序调用 REST api GET POST 请求 请给我推荐一
  • Android Studio - 如何在单个窗口中打开多个项目?

    我已经下载了 Android Studio 并开始使用它进行 Android 开发 我需要知道如何在像 Eclipse 这样的单个窗口中打开多个项目 期待一些帮助 谢谢 IntelliJ IDEA 为您使用的整个代码库创建一个项目 并为其每
  • Android NDK - 仅用 C/C++ 编写

    有没有一种可能的方法可以使用 C C 编写整个 NDK 应用程序 而无需像 hello jni 示例项目 HelloJni java 中那样的 Java 入门 类 以某种方式创建一个 HelloJni c 来执行相同的操作 从 Androi

随机推荐