web-dev-qa-db-ja.com

crashlytics Android studio gradle build failed

私はAndroid studio 0.9.3にcrashlyticsプラグインをインストールしました。この後、プロジェクトに追加しました。gradle、最初のアクティビティなどに行を追加しました...;このビルドがこれで失敗した後エラー:

エラー:タスク ':app:fabricCleanupResourcesDebug'の実行に失敗しました。

Crashlytics開発者ツールのエラー。

enter image description here

これが私のgradleファイルです、何を変更すればよいですか? Crashlyticsは自動的に次の行を追加しました:

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 21
  buildToolsVersion "21.0.2"

  defaultConfig {
    applicationId "XXXXXXXXXXXXXXXXXXXXXXX"
    minSdkVersion 11
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
  }
  buildTypes {
    release {
      runProguard false
      proguardFiles getDefaultProguardFile('proguard-Android.txt'),
      'proguard-rules.pro'
    }

  }
}

dependencies {
  compile fileTree(dir : 'libs', include : ['*.jar'])
  compile 'com.Android.support:appcompat-v7:21.0.0'
  compile('com.crashlytics.sdk.Android:crashlytics:2.1.0@aar') {
    transitive = true;
  }
}

14
Misha Akopov

私は問題を解決しました。私はcrashlyticsチームと長い会話をしていましたが、彼らは私を助けませんでした。

私の解決策は、個別のプロジェクトを作成し、そのプロジェクトにcrashlyticsをインストールすることです。そのプロジェクトでAPIキーを生成します。そのキーをコピーして元のプロジェクトに貼り付けたところ、うまくいきました。最初のプロジェクトでキーが生成されなかった理由がわかりません。

10
Misha Akopov

AndroidManifest.xmlファイルのAPIキーをリテラル文字列ではなく文字列参照に置き換えたところ、まったく同じ問題が発生しました。
リテラル文字列を使用すると、エラーが消えました。

使用する

<meta-data
        Android:name="com.crashlytics.ApiKey"
        Android:value="mykey" />

使わない

<meta-data
        Android:name="com.crashlytics.ApiKey"
        Android:value="@string/crashlytics_api_key" />
11
florian

このエラーは、誤ったcrashlaytics AppKeyが原因です。マニフェストファイルを確認してください。 [〜#〜]または[〜#〜]

これは、マニフェストファイルでハードコードされたAppKeyの代わりに文字列リソースを使用することが原因です。

これを使用:

<meta-data
Android:name="io.fabric.ApiKey"
Android:value="FABRIC_KEY"/>

これを使用しないでください

<meta-data
Android:name="io.fabric.ApiKey"
Android:value="@stringFABRIC_KEY"/>

ではごきげんよう

はい、私はこのコードをAndroidManifest.xmlに追加しました。

    <meta-data
        Android:name="io.fabric.ApiKey"
        Android:value="yourapikey" />
2
Yuhan Zhang

インターネットに接続せずにアプリを初めて実行すると、アプリはサーバーに情報を送信できないため、アプリをサーバーに登録します。

2
user4859015

Fabric.propertiesを開き、apiKeyに対する値がYOUR_API_KEYを読み取るかどうかを確認します。はいの場合は、AndroidManifest.xmlからAPIキーをコピーし、fabric.propertiesのapiKeyに貼り付けます。

0