6

この投稿を参照して、Android ライブラリ プロジェクトから Crashlytics を参照するための基本的なセットアップを示す build.gradle ファイルのペアを持っている人はいますか?

上記の最初の投稿で提供された推奨事項に従ったにもかかわらず、次のエラーが表示されます。

これは私の App gradle.build ファイルです。

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}

apply plugin: 'android'
apply plugin: 'crashlytics'

repositories {
    mavenCentral()
    maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile project(':Common.Logger')
    compile project(':Common.ProtocolBuffer')
    compile project(':Common.Utils')
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:support-v4:+'
    compile 'com.crashlytics.android:crashlytics:1.+'
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
    androidTestCompile 'junit:junit:4.11'
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    buildTypes {
        debug {
            buildConfigField "boolean", "USE_LOGCAT", "true"
            buildConfigField "boolean", "USE_CRASHLYTICS", "false"
            ext.enableCrashlytics=false
        }

        release {
            runProguard true
            debuggable false
            proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
            buildConfigField "boolean", "USE_LOGCAT", "false"
            buildConfigField "boolean", "USE_CRASHLYTICS", "true"
            ext.enableCrashlytics=true
        }
    }

    sourceSets {
        packagingOptions {
            exclude 'LICENSE.txt'
        }

        lintOptions {
            abortOnError false
        }
    }
}

これは私の現在のライブラリ build.gradle ファイルです。

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}

repositories {
    mavenCentral()
    maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile 'com.crashlytics.android:crashlytics:1.+'
}

apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    buildTypes {
        debug {
            buildConfigField "boolean", "USE_LOGCAT", "true"
            buildConfigField "boolean", "USE_CRASHLYTICS", "false"
            ext.enableCrashlytics=false
        }

        release {
            buildConfigField "boolean", "USE_LOGCAT", "false"
            buildConfigField "boolean", "USE_CRASHLYTICS", "true"
            ext.enableCrashlytics=true
        }
    }

    sourceSets {
        lintOptions {
            abortOnError false
        }
    }
}

少し前に Crashlytics サポートから、buildType で単に「ext.enableCrashlytics」フラグを使用するように言われました。

以下は、上記の gradle ビルド ファイルを使用して発生する現在の gradle エラーです。

Error:A problem occurred configuring root project 'ManageMyVMail.Android'.
> A problem occurred configuring project ':Common.ProtocolBuffer'.
   > Could not resolve all dependencies for configuration ':Common.ProtocolBuffer:_debugCompile'.
      > Could not find any version that matches com.crashlytics.android:crashlytics:1.+.
        Required by:
            ManageMyVMail.Android:Common.ProtocolBuffer:unspecified > ManageMyVMail.Android:Common.Logger:unspecified

二次的な質問として、現在の gradle ビルド エラーを過ぎた後に両方のプロジェクトからそれらを使用する場合、両方のファイルに同じ buildConfigField 値のセットを作成する必要がありますか。私は Gradle と Android Studio にかなり慣れていませんが、Intertron を検索してもまだ答えが得られていません。

前もって感謝します。

4

1 に答える 1