无法使用Gradle将Android Kotlin Project上传到Fabric Beta
我使用Android Studio Preview 3.0(Canary 2)创建了一个项目来启动Kotlin开发。 我使用Android Studio Fabric插件为我的项目设置了Fabric。
但是,当我想通过以下命令将我的应用的测试版上传到Fabric Beta(Crashlytics)时
./gradlew crashlyticsUploadDistributionDebug
我收到以下错误:
项目“:app”中的配置“编译”已弃用。 改用“实施”。 项目“:app”中的配置“testCompile”已弃用。 改用'testImplementation'。 Task.leftShift(Closure)方法已被弃用,计划在Gradle 5.0中删除。 请改用Task.doLast(Action)。 registerResGeneratingTask已弃用,请使用registerGeneratedFolders(FileCollection)registerResGeneratingTask已弃用,请使用registerGeneratedFolders(FileCollection):app:crashlyticsUploadDistributionDebug FAILED
失败:生成失败,出现异常。
出了什么问题:任务':app:crashlyticsUploadDistributionDebug'的执行失败。
无效。
尝试:运行–stacktrace选项来获取堆栈跟踪。 运行–info或–debug选项来获得更多的日志输出。
在1s内构建失败1可执行任务:1执行,0回避(0%)
我不知道,“无效”是什么意思。
这是我的根build.gradle
:
buildscript { ext.kotlin_version = '1.1.2-4' repositories { maven { url 'https://maven.google.com' } maven { url 'https://maven.fabric.io/public' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'org.ajoberstar:grgit:1.9.0' classpath 'io.fabric.tools:gradle:1.22.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } ext { supportLibVersion = "25.3.1" buildVersion = "25.0.3" daggerVersion = "2.9" rxJavaVersion = "2.1.0" rxAndroidVersion = "2.0.1" countGitCommits = { -> git = Grgit.open() def commitCount = git.log(includes: ['HEAD']).size() println("INFO: Number of commits $commitCount") return commitCount } } allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } maven { url 'https://maven.fabric.io/public' } mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir }
这是应用程序build.gradle
apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion 25 buildToolsVersion "$buildVersion" defaultConfig { applicationId "com.kotlin.sample" minSdkVersion 21 targetSdkVersion 25 def numberOfCommits = countGitCommits() versionCode 1000 + numberOfCommits versionName "0.1.$numberOfCommits" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile files('libs/API_ADK.jar') compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "com.android.support:appcompat-v7:$supportLibVersion" compile "com.android.support:support-v4:$supportLibVersion" compile "com.android.support:design:$supportLibVersion" compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'io.reactivex.rxjava2:rxkotlin:2.0.3' compile "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion" compile "io.reactivex.rxjava2:rxjava:$rxJavaVersion" compile 'com.jakewharton.timber:timber:4.5.1' compile "com.google.dagger:dagger:$daggerVersion" // Needed for @Generated annotation (missing in Java <= 1.6; therefore, Android) compile 'javax.annotation:jsr250-api:1.0' compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } kapt "com.google.dagger:dagger-compiler:$daggerVersion" testCompile 'junit:junit:4.12' }
具有fabric.properties
文件也放置在项目中。
编辑:
手动将APK上传到Fabric Beta工作。
我只想指出Mike Bonnell在回答这个问题时的意见:
我们的命令行工具与Alpha版本的Gradle 3不兼容。我们正在研究Alpha版本的变化,但是我们测试了Beta版本和稳定版本的版本。
编辑2017/08/25试用Android Studio 3.0 Beta 3和相应的Android Gradle插件。 gradle任务crashlyticsUploadDistributionDebug
似乎再次工作。
- Android – 无法添加在java8中用kotlin创建的jar
- Android的致命异常在android.arch.lifecycle Kotlin lang
- SimpleDraweeView上的setImageURI:加载图像时的回调 – Android
- 如何在Anko中调试“无法解析com.google.android:android”错误
- 构造函数在kotlin派生类中的可分构造器
- 如何在Android中使用VectorDrawable <selector>
- 如何在同一个src文件夹中运行不同的.kt文件/类?
- 如果有更新,我们是否需要下载完整的Android Studio?
- Android Studio 3.0 + Kotlin两个Gradle守护进程