4

我尝试从我的终端执行命令:./gradlew testfairyDebug。这将返回下一个错误:

FAILURE:构建失败并出现异常。

出了什么问题:任务“:app:testfairyDebug”执行失败。无法为 com.android.build.gradle.tasks.PackageApplication 类型的任务 ':app:packageDebug' 获取未知属性 'outputFile'。

你有什么想法来解决这个问题。有关信息,我在 Android Studio 3 上工作,我的 gradle 版本是'com.android.tools.build:gradle:3.0.0-alpha6'

我的 build.gradle :


    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        ext.kotlin_version = '1.1.2-4'
        repositories {
            maven { url 'https://maven.google.com' }
            maven { url 'https://www.testfairy.com/maven' }
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.0-alpha6'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath 'com.testfairy.plugins.gradle:testfairy:1.+'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    
    allprojects {
        repositories {
            jcenter()
            maven { url 'https://maven.google.com' }
            mavenCentral()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    } 

和我的 app.build.gradle :


    apply plugin: 'com.android.application'
    
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    
    apply plugin: 'testfairy'
    
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "com.name.application"
            minSdkVersion 15
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
        testfairyConfig {
            apiKey "xxxxxxxxxxxxxxxxxxxxxxxx"
        }
    }
    
    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 "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
        //noinspection GradleCompatible
        compile 'com.android.support:appcompat-v7:25.3.1'
        testCompile 'junit:junit:4.12'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'com.android.support:design:25.3.1'
        compile 'org.greenrobot:eventbus:3.0.0'
        compile 'com.squareup.retrofit2:retrofit:2.1.0'
        compile 'com.squareup.retrofit2:converter-gson:2.1.0'
        compile 'com.lorentzos.swipecards:library:1.0.9'
        compile 'com.github.rey5137:material:1.2.2'
        compile 'com.squareup.picasso:picasso:2.5.2'
        // Android SDK
        compile 'com.facebook.android:facebook-android-sdk`enter code here`:4.+'
        compile 'org.greenrobot:eventbus:3.0.0'
        compile 'com.android.support:recyclerview-v7:25.1.1'
        compile 'testfairy:testfairy-android-sdk:1.+@aar'
    
    }

非常感谢。

4

2 回答 2

4

该错误表明您正在尝试从 PackageApplication 访问“outputFile”。但我没有在你的 gradle 文件中看到它。也许它是由您的模块之一引起的?如果是这种情况,则使用 Gradle 插件 3.0 会破坏用于操作变体输出的 Variant API。只有简单的任务有效。查看此页面:https ://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#variant_api

于 2017-07-27T16:33:04.100 回答
1

您能否将 TestFairy gradle 插件更新为 version 2.+

将类路径更改为 com.testfairy.plugins.gradle:testfairy:1.+build.gradlecom.testfairy.plugins.gradle:testfairy:2.+ 文件的依赖项部分。

于 2018-02-21T12:54:20.850 回答