2017-07-19 31 views
4

我尝试从我的终端执行命令:./gradlew testfairyDebug。 这返回一个错误:无法获取任务的未知属性'outputFile':app:packageDebug'

FAILURE: Build failed with an exception.

What went wrong: Execution failed for task ':app:testfairyDebug'. Could not get unknown property 'outputFile' for task ':app:packageDebug' of type com.android.build.gradle.tasks.PackageApplication.

你有什么想法来解决这个问题。 有关信息,我在Android工作室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:[email protected]' 

    } 

非常感谢。

回答

3

错误表明您正试图从PackageApplication访问'outputFile'。但我没有在你的gradle文件中看到它。也许它是由你的一个模块引起的?如果是这种情况,使用Gradle插件3.0破坏Variant API来处理变体输出。只有简单的任务工作。看看这个网页:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#variant_api

+0

无赖!有用的功能牺牲了“更快的配置时间”。看起来像是一个明显的过度优化案例。回滚到2.3.3 ... – donfuxx

1

请问您可以更新TestFairy gradle插件到2.+版本。

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

相关问题