热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法使用gradle将AndroidKotlin项目上传到FabricBeta

如何解决《无法使用gradle将AndroidKotlin项目上传到FabricBeta》经验,为你挑选了1个好方法。

我用Android Studio Preview 3.0(Canary 2)创建了一个项目来开始Kotlin开发.我使用Android Studio Fabric插件为我的项目设置Fabric.

但是,当我想使用以下命令将我的应用程序的测试版上传到Fabric Beta(Crashlytics)时

./gradlew crashlyticsUploadDistributionDebug

我收到以下错误:

项目':app'中的配置'compile'已弃用.请改用"实施".项目':app'中的配置'testCompile'已弃用.请改用"testImplementation".不推荐使用Task.leftShift(Closure)方法,并计划在Gradle 5.0中删除它.请改用Task.doLast(Action).不推荐使用registerResGeneratingTask,不推荐使用registerGeneratedFolders(FileCollection)registerResGeneratingTask,使用registerGeneratedFolders(FileCollection):app:crashlyticsUploadDistributionDebug FAILED

FAILURE:构建因异常而失败.

出了什么问题:任务执行失败':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带有apiSecret 的文件也放在项目中.

编辑:

手动上传APK到Fabric Beta可以正常运行.



1> Christopher..:

我只是想指出Mike Bonnell的评论,因为它回答了这个问题:

我们的命令行工具与Gradle 3的Alpha版本不兼容.我们正在研究alpha版本带来的变化,但我们测试了版本的beta和稳定版本.

编辑2017/08/25 尝试使用Android Studio 3.0 Beta 3和相应的android gradle插件.gradle任务crashlyticsUploadDistributionDebug似乎再次起作用.


推荐阅读
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
author-avatar
mobiledu2502868653
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有