无法运行我的Android应用程序

时间:2017-11-12 21:51:02

标签: android

第一次尝试运行我的应用时它不起作用。 这是我收到的错误消息,无法解决。

Error:FAILURE: Build failed with an exception.

* What went wrong:
Task 'prepareReleaseUnitTestDependencies' not found in project ':app'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

这是我项目中的build.gradle文件:

apply plugin: 'com.android.application'

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

android {
    compileSdkVersion 24
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "com.example.android.smth"
        minSdkVersion 17
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        resConfigs "auto"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:design:24.2.0'
    compile 'com.android.support:appcompat-v7:24.2.0'
    compile 'com.github.bumptech.glide:glide:3.6.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

1 个答案:

答案 0 :(得分:0)

简单文件/无效缓存/重启可以使用或尝试以下解决方案之一

您可以尝试其中一种解决方案

  1. 将Android Studio升级到0.8.7

    • 偏好设置|更新|切换" Beta频道"到" Canary Channel",然后立即检查。
    • 你可以跳过这个。
      1. 检查了Gradle包装器(目前为1.12.2;此时不要尝试使用2.0)。
    • 假设您不需要特定版本,请使用latest supported distribution

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • 可以在首页|中的Android Studio中设置Gradle(但0.8.7给了我“无效位置”错误)。

    • '包装'只是每个Android Studio项目的Gradle副本。它允许您在操作系统中使用Gradle 2,在项目中使用不同的版本。 Android开发人员文档解释了here
    • 然后调整插件的build.gradle文件。 Gradle插件版本必须与整个项目的分发/包装版本兼容。由于Tools文档(tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements)略有过时,您可以将插件版本设置得太低(如0.8.0)和Android Studio将在包装器的可接受范围内抛出错误。
  2. 例如,在build.gradle中,你有这个插件:

    dependencies {
        classpath "com.android.tools.build:gradle:0.12.+"
    }
    

    您可以尝试将其切换为确切版本,如下所示:

    dependencies {
        classpath "com.android.tools.build:gradle:0.12.2"
    }
    

    和(在记录了每种情况下你正在改变的版本之后)验证项目中的每个build.gradle文件是否都引入了相同的插件版本。保持“+”应该可以工作(对于0.12.0,0.12.1,0.12.2等),但是当我更新Google的Volley库(原来是gradle:0.8。+)和我的主项目(最初为0.12)时,我的构建成功了。 +)到固定版本:gradle:0.12.2。

    其他检查

    1. 确保您在同一个项目中没有两个Android应用程序模块

      • 这可能与最终解决方案(上面的不同Gradle版本)相互作用,并导致

        UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

      • 检查,构建| Make Project不会弹出一个窗口,询问你想要制作什么样的应用程序。

    2. 使您的缓存无效
      • 文件|使高速缓存/重新启动无效(stackoverflow.com/a/19223269/513413)
    3. 如果第2步不起作用,请删除〜/ .gradle /(www.wuttech.com/index.php/tag/groovy-lang-closure/)
      • 退出Android Studio
      • $ rm -rf~ / .gradle /
      • 启动Android Studio,然后同步:
        • 工具| Android |使用Gradle文件同步项目
      • 在放弃之前重复整个序列(退出...同步)几次。
    4. 清理项目
      • 构建|清洁项目
    5. 您必须将自己的应用模块添加到 settings.gradle 文件

      include ':app'
      

      如果添加,请尝试从settings.gradle文件中删除它,然后同步您的项目