我的Android应用程序有一个包含'crashlytics.start()'的库。我只将Crashlytics.jar设置为Library项目的依赖项。构建是成功的。
我在app中配置了多种口味> build.gradle文件。
鉴于我的一个构建版本称为“生产”,我在我的应用程序中有以下配置> build.gradle文件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.test.testapp"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "0.0.6"
}
buildTypes {
release {
ext.enableCrashlytics=true
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
ext.betaDistributionEmails="email"
ext.betaDistributionReleaseNotes='Testing automatic release.Ignore this version'
}
debug{
ext.enableCrashlytics=true
runProguard false
}
}
productFlavors {
production {
applicationId "com.test.testapp"
}
staging {
applicationId "com.test.testapp.staging"
}
preprod {
applicationId "ccom.test.testapp.preprod"
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.+'
compile 'com.android.support:appcompat-v7:21.0.2'
compile project(':lib1')
compile project(':lib2')
}
我使用以下命令将构建的'production'风格上传到crashlytics
assembleproductionRelease crashlyticsUploadDistributionproductionRelease
但是我收到以下错误
Task 'crashlyticsUploadDistributionproductionRelease' not found in root project
这与this question类似,但解决方案对我不起作用。有详细信息发布。
注意:我在包含crashlytics依赖时添加了一个本地crashlytics.jar。由于在编译项目时包含托管的crashlytics依赖项存在问题。
答案 0 :(得分:1)
我在我的环境中有工作配置,所以只需共享不同的gradle.build片段: 1. Buildscript
buildscript {
repositories {
jcenter()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
}
}
申请插件:' crashlytics'
repositories { mavenCentral() maven { url 'http://download.crashlytics.com/maven' } }
希望这会有所帮助