如果我启用了proguard,则无法确定任务':app:crashlyticsStoreDeobsDebug'的依赖关系

时间:2015-12-22 17:17:53

标签: android proguard crashlytics

我在Android Studio 2中运行应用时出现以下错误。

Gradle tasks [:app:assembleDebug]
Could not determine the dependencies of task ':app:crashlyticsStoreDeobsDebug'.
> Task with path 'dexDebug' not found in project ':app'.
BUILD FAILED

这是模块的build.gradle

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
        maven { url "http://dl.bintray.com/populov/maven" }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
    maven { url "http://dl.bintray.com/populov/maven" }
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 19
    }


    buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

如果我将minfyEnabled设置为“false”,则错误消失。但我确实希望它启用。

这是项目级别的build.gradle。

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
    }
}

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
        jcenter()
    }
}

如果我将“2.0.0-alpha3”替换为“1.3.1”,错误也就消失了。但我确实想要“2.0.0”,因为我想要“即时运行”功能。

这是gradle-wrapper.properties。

#Mon Dec 21 14:43:00 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip

有谁知道如何修复它?谢谢。

16 个答案:

答案 0 :(得分:7)

几天前我遇到了同样的问题,我发现这个帖子Twitter Developer Forum指出与gradle / build-tools / crashalics版本有些不兼容。

我的问题与您的问题略有不同,因为我没有使用alpha-3我正在使用1.5。但在我的更新中,我也更改为最新的gradle分发gradle-2.9-all.zip

很可能/也许您可以通过更改为最新的gradle版本来修复它。但是如果它不起作用,你真的必须耐心等待,直到build tools V2.0不再处于alpha状态 Crashalitycs团队,修复不兼容性。

答案 1 :(得分:2)

我遇到了同样的问题,我通过替换应用级 Build.gradle 文件中的依赖项解决了这个问题

"""

implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation 'androidx.multidex:multidex:2.0.0'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
androidTestImplementation 'com.androidx.support.test:runner:1.1.0'
androidTestImplementation 'com.androidx.support.test.espresso:espresso-core:3.1.0'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation platform('com.google.firebase:firebase-bom:26.1.1')
implementation 'com.google.firebase:firebase-analytics'
implementation 'androidx.multidex:multidex:2.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.androidx.support.test:runner:1.1.0'
androidTestImplementation 'com.androidx.support.test.espresso:espresso-core:3.1.0'

这解决了我的问题。

答案 2 :(得分:1)

代替 1。+ 使用崩解剂的latest version -

(SELECT 
    month,
    Avg(rain_fall)
FROM 
    rain_fall 
WHERE 
    STR_TO_DATE( CONCAT('01','-',month,'-',year) , '%d-%b-%Y') 
between
    STR_TO_DATE('01-Jan-1991','%d-%b-%Y') 
    and
    STR_TO_DATE('01-Dec-1993','%d-%b-%Y')
group by 
    month
order by 
    MONTH(STR_TO_DATE( CONCAT('01','-',month,'-',year) , '%d-%b-%Y'))
)
UNION ALL
(
SELECT 
    month,
    Avg(data_value) 
FROM 
    temprature_data 
WHERE 
    STR_TO_DATE( CONCAT('01','-',month,'-',year) , '%d-%b-%Y') 
between
    STR_TO_DATE('01-Jan-1991','%d-%b-%Y') 
and
    STR_TO_DATE('01-Dec-1993','%d-%b-%Y')
group by 
    month
order by 
    MONTH(STR_TO_DATE( CONCAT('01','-',month,'-',year) , '%d-%b-%Y'))
);

你应该用这种方式 -

 dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }

您的问题肯定会得到解决。 快乐编码!!

答案 3 :(得分:1)

您可以在项目目录中运行此命令。基本上它只是清理构建和gradle。

   cd android && rm -R .gradle && cd app && rm -R build

就我而言,我使用 react-native 将其用作 package.json 中的脚本

"scripts": { "clean-android": "cd android && rm -R .gradle && cd app && rm -R build" }

答案 4 :(得分:1)

您必须将 sdk 路径与正确的路径同步

sdk.dir

答案 5 :(得分:0)

我遇到了同样的问题。在我的App build.gradle中,我有

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

我刚换过Dexguard和Fabric,然后就可以了!

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

答案 6 :(得分:0)

构建/清理项目 + 构建/重建项目的完整组合 + 文件/使缓存无效/重启对我有用!

答案 7 :(得分:0)

在我的项目中集成Firebase Cloud Store时遇到相同的问题。 在项目级别gradle内,我添加了

classpath 'com.google.gms:google-services:4.0.1'

已解决问题。

答案 8 :(得分:0)

在Android Studio终端上运行./gradlew assembleDebug命令已解决了我的问题。

答案 9 :(得分:0)

我也遇到类似的问题,但出现以下错误:

Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.

它是在我在Gradle中添加以下依赖项时开始的:

    implementation 'com.google.android.gms:play-services-tagmanager:11.0.4'

我通过如下升级依赖版本来修复它:

implementation 'com.google.android.gms:play-services-tagmanager:17.0.0'

答案 10 :(得分:0)

build.gradle

allprojects {
    repositories {
        google()
        mavenLocal()
        jcenter()
        maven {
            url 'https://maven.google.com'
        }
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

答案 11 :(得分:0)

对于某些人来说,跳过库是可行的

project(":libABC") {
    apply plugin: 'org.sonarqube'
    sonarqube {
        skipProject = true
    }
}

答案 12 :(得分:0)

我的项目遇到了同样的问题。我通过在项目的 build.gradle 文件中将我的 google-services 版本降级到 4.1.0 解决了这个问题。

  buildscript {
dependencies {
    classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
 }
}

答案 13 :(得分:0)

我没有在我的 sdk.dir 文件中指定 local.properties

答案 14 :(得分:-1)

我通过更新 build.gradle 解决了同样的问题,如下所示:

    buildscript {
    ext.kotlin_version = "1.5.10"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.8'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

答案 15 :(得分:-2)

修复步骤:

  1. 在终端中运行flutter clean

  2. 再次运行您的应用。