升级到 java 8 后无法使用 crashlytics 发布项目

Posted

技术标签:

【中文标题】升级到 java 8 后无法使用 crashlytics 发布项目【英文标题】:Can't release the project using crashlytics after upgrading to java 8 【发布时间】:2017-02-02 02:26:50 【问题描述】:

在我移至java 8 后,我在应用发布时收到此错误,因为fabric crashlytics:

Could not determine the dependencies of task ':app:crashlyticsStoreDeobsRelease'.
> Task with path 'dexRelease' not found in project ':app'.

我正在使用android Studio 2.2Gradle version 2.14.1,Android插件版本2.2.0

项目运行没有任何问题,但是我无法生成签名的apk!

我阅读了这篇文章 Can't run project - Android Studio 2.0 Crashlytics issues 和 Could not determine the dependencies of task ':app:crashlyticsStoreDeobsDebug' if I enable the proguard,但答案对我没有帮助。

这是我的 gradle 文件:

buildscript 
 repositories 
    maven  url 'https://maven.fabric.io/public' 
 

 dependencies 
    classpath 'io.fabric.tools:gradle:1+'
 


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

repositories 
    maven  url 'https://maven.fabric.io/public' 



android 
 compileSdkVersion 24
 buildToolsVersion "24.0.2"

 defaultConfig 
    applicationId "..."
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 17
    versionName "0.14.1"

    jackOptions 
        enabled true
    


compileOptions 
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8


  dexOptions 
    javaMaxHeapSize "3g"
  

  signingConfigs 
    release 
        storeFile file("....jks")
        storePassword "..."
        keyAlias "..."
        keyPassword "..."
    
  

 buildTypes 
    release 
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        shrinkResources true

        debuggable true
        signingConfig signingConfigs.release
    

    debug
        debuggable true
        //applicationIdSuffix ".debug"
    
 
 

dependencies 
compile fileTree(include: ['*.jar'], dir: 'libs')

//Material edit text
compile 'com.rengwuxian.materialedittext:library:2.1.4'
//Circle progress bar
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.1.0'
//a divider for recyclerview
compile 'com.yqritc:recyclerview-flexibledivider:1.2.9'


//Field and method binding for Android views
compile 'com.jakewharton:butterknife:7.0.1'
//crash reporting and streamline solution for distributing apps
   compile('com.crashlytics.sdk.android:crashlytics:2.6.3@aar') 
      transitive = true;
   

//LeakCanary
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'

compile('com.github.ozodrukh:CircularReveal:2.0.1@aar') 
    transitive = true;

compile project(':core')


apply plugin: 'com.google.gms.google-services'

【问题讨论】:

将 multidex enable true 添加到您的 gradle 并清理项目 gradle 和 fabri 插件之间似乎有些不兼容。避免在织物的类路径中使用“+”。使用类似classpath 'io.fabric.tools:gradle:1.20.1 @ShrenikShah 我启用了 multidex >>> multiDexEnabled true 但它没有帮助 @NarayanAcharya 我将类路径更改为最新版本 >>> classpath 'io.fabric.tools:gradle:1.21.5' 但没有帮助 @HamedGh 你解决了这个问题吗? 【参考方案1】:

我从这个链接检查了结构工具版本

https://s3.amazonaws.com/fabric-artifacts/public/io/fabric/tools/gradle/maven-metadata.xml

然后我用的是低版本classpath 'io.fabric.tools:gradle:1.25.4'

【讨论】:

以上是关于升级到 java 8 后无法使用 crashlytics 发布项目的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Crashlytics 升级到 Fabric

从 Java 6 升级到 Java 7/8 后,Apple 推送无法正常工作

在 iOS 应用中升级 SDK 后 Firebase Crashlytics 不显示日志

升级到 Android Gradle 插件 3.3.0 时出现无效的 Crashlytics API 密钥错误

Java 8 升级后 DriverManager 无法返回连接

从 8 升级到 9 后无法构建 Angular 项目