2017-09-21 28 views
0

我在Android Studio项目中安装了Crashlytics插件,但gradle任务crashlyticsUploadDistributionDebug未添加到gradle任务。 如何添加到gradle任务?Crashlytics任务无法添加到gradle任务

安装Crashlytics成功,但下面的命令失败。

$ ./gradlew assembleDebug crashlyticsUploadDistributionDebug 
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead. 

FAILURE: Build failed with an exception. 

* What went wrong: 
Task 'crashlyticsUploadDistributionDebug' not found in root project 'MyProject'. 

* Try: 
Run gradlew 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 FAILED 

Total time: 1.02 secs 

我的build.gradle设置如下。

buildscript { 
    repositories { 
     mavenCentral() 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.24.2' 
    } 
} 

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

android { 
    compileSdkVersion 26 
    buildToolsVersion '25.0.3' 

    defaultConfig { 
     applicationId "my.app.id" 
     manifestPlaceholders = [appName:"@string/app_name", iconLabel:"@string/icon_label"] 
     minSdkVersion 16 
     targetSdkVersion 26 
     versionCode 20 
     versionName "2.0.0" 
    } 

    buildTypes { 
     debug { 
      debuggable true 
      applicationIdSuffix ".debug" 
      versionNameSuffix '-dev' 
     } 
     release { 
      debuggable false 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    productFlavors { 
     develop { 
      manifestPlaceholders = [appName:"@string/dev_app_name", iconLabel:"@string/dev_icon_label"] 
      buildConfigField "boolean", "DEV_ENV", "true" 
      buildConfigField "String", "XXX", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
     } 
     staging { 
      manifestPlaceholders = [appName:"@string/stg_app_name", iconLabel:"@string/stg_icon_label"] 
      buildConfigField "boolean", "DEV_ENV", "true" 
      buildConfigField "String", "XXX", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
     } 
     production { 
      buildConfigField "boolean", "DEV_ENV", "false" 
      buildConfigField "String", "XXX", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:26.1.0' 
    compile 'com.android.support:recyclerview-v7:26.1.0' 
    compile 'com.google.code.gson:gson:2.7'       
    compile 'de.greenrobot:eventbus:2.4.0'        
    compile 'com.google.android.gms:play-services-analytics:11.0.4' 
    compile 'com.google.android.gms:play-services-gcm:11.0.4'   
    compile 'com.mcxiaoke.volley:library:1.0.16'      
    compile 'com.jpardogo.materialtabstrip:library:1.0.9'    
    compile 'com.lsjwzh:materialloadingprogressbar:0.5.5-RELEASE'  
    compile 'io.realm:realm-android:0.80.3'       
    compile 'com.github.ksoichiro:android-observablescrollview:1.5.2' 
    compile 'com.daimajia.swipelayout:library:[email protected]'    
    compile 'com.nineoldandroids:library:2.4.0'      
    compile 'com.daimajia.easing:library:[email protected]'     
    compile 'com.daimajia.androidanimations:library:[email protected]'   
    compile 'com.facebook.conceal:conceal:[email protected]'     
    compile 'com.appsflyer:af-android-sdk:[email protected]'     
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
} 

我不知道什么是错的。

+0

请参阅本教程,这将有助于你。 https://www.numetriclabz.com/integrate-crashlytics-for-android-by-fabric-tutorial/ – Saneesh

+0

你有没有机会分享你的build.gradle?我想看看Crashlytics和Fabric的配置如何。 – Alexizamerican

+0

@Saneesh Crashlytics安装成功,但gradle任务crashlyticsUploadDistributionDebug未添加到gradle任务。 – tama

回答

1

我已经配置了对productFlavors的开发,升级和生产,因此需要将productFlavor添加到命令中。

下面是正确的命令。

./gradlew assembleDebug crashlyticsUploadDistribution []调试

例如

$ ./gradlew assembleDebug crashlyticsUploadDistributionDevelopDebug 
Incremental java compilation is an incubating feature. 
:app:preBuild UP-TO-DATE 
:app:preDevelopDebugBuild UP-TO-DATE 
:app:checkDevelopDebugManifest 
:app:preDevelopReleaseBuild UP-TO-DATE 
:app:preProductionDebugBuild UP-TO-DATE 
:app:preProductionReleaseBuild UP-TO-DATE 
:app:preStagingDebugBuild UP-TO-DATE 

・ 
・ 
・ 

:app:compileStagingDebugNdk UP-TO-DATE 
:app:compileStagingDebugSources 
:app:transformClassesWithDexForStagingDebug 
:app:mergeStagingDebugJniLibFolders 
:app:transformNativeLibsWithMergeJniLibsForStagingDebug 
:app:transformNativeLibsWithStripDebugSymbolForStagingDebug 
:app:processStagingDebugJavaRes UP-TO-DATE 
:app:transformResourcesWithMergeJavaResForStagingDebug 
:app:validateSigningStagingDebug 
:app:packageStagingDebug 
:app:assembleStagingDebug 
:app:assembleDebug 
:app:crashlyticsUploadDistributionDevelopDebug 
Uploading /my_android_project_path/app/build/outputs/apk/app-develop-debug.apk to Crashlytics... 

BUILD SUCCESSFUL 

Total time: 23.897 secs