应用程序正确运行一次,后续运行打开空白屏幕

时间:2014-12-09 19:11:37

标签: android gradle android-studio android-gradle

我今天从0.8.14更新到Android Studio 1.0。大多数更新都是无缝的,IDE本身修复了一些问题。我使用的是旧版本的gradle构建工具,0.12并且必须将其更改为1.0.0。我还将内部build.gradle中定义的buildToolsVersion提升为21.1.1

自从我更新以来,我正在研究的一个项目表现出非常奇怪的行为。我可以将它推送到一个设备,它将安装并打开,但在我杀死应用程序后,任何后续尝试打开它都不会工作。而是显示纯白色屏幕。该应用程序没有点击我的启动活动,它没有实例化该应用程序。我无法通过调试获取任何信息,设备无法报告任何信息。调试和发布版本以及我定义的三种版本都会发生这种情况。我在运行Lollipop和Kitkat以及Genymotion VM的多部手机上进行了测试。

我已经在下面包含了我的build.gradle文件,因为我觉得这必须与制作apk的构建步骤有关,但我不知道从哪里开始修复它。任何帮助将不胜感激。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

inner build.gradle

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.2'
    compile "com.android.support:appcompat-v7:21.0.2"
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'io.keen:keen-client-api-android:2.0.1@aar'
    compile 'com.google.code.gson:gson:2.3'
    compile(name: 'my-lovely-aar', ext: 'aar')
}

repositories {
    flatDir {
        dirs 'libs'
    }
    mavenCentral()
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    productFlavors {
        beta {
            applicationId 'com.project.beta'
        }
        prod {
            applicationId 'com.project.prod'
        }
        dev {
            applicationId 'com.project.dev'
        }
    }

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 8
        versionName "1.1.1"
    }

    signingConfigs {
        release {
            // details for release builds
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

    lintOptions {
        abortOnError false
    }
}

1 个答案:

答案 0 :(得分:3)

我发现了我的问题。

compile 'com.google.android.gms:play-services:6.5.87'是打破它的人。我仍然不知道为什么,但有依赖性阻止我的应用程序打开。包括早期版本的播放服务库,如6.1.11,可以很好地工作。我没有6.1.88 / 83/74进行测试,但我怀疑他们一切都很好。