Fabric with Android Studio



我正在尝试安装Crashlytics通过Fabric到我的Android Studio项目我遇到以下错误:

Gradle tasks [:App:generateDebugSources, :App:generateDebugAndroidTestSources, :Customer:generateDebugSources, :Customer:generateDebugAndroidTestSources, :PDFViewCtrlTools:generateDebugSources, :PDFViewCtrlTools:generateDebugAndroidTestSources]
Crashlytics was applied to an android-library project. 
Android-library support is currently an incubating feature. 
Contact support@fabric.io with any issues.
Error:A problem occurred configuring project ':Customer'.
> Could not resolve all dependencies for configuration ':Customer:_debugCompile'.
  > Could not find com.crashlytics.sdk.android:crashlytics:2.2.1.
    Searched in the following locations:
       https://jcenter.bintray.com/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.pom
       https://jcenter.bintray.com/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.jar
       file:/Users/mes/Documents/Eclipse/sdk/extras/android/m2repository/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.pom
       file:/Users/mes/Documents/Eclipse/sdk/extras/android/m2repository/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.jar
       file:/Users/mes/Documents/Eclipse/sdk/extras/google/m2repository/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.pom
       file:/Users/mes/Documents/Eclipse/sdk/extras/google/m2repository/com/crashlytics/sdk/android/crashlytics/2.2.1/crashlytics-2.2.1.jar
       Required by:
       project:Customer:unspecified > project:App:unspecified
    Information:BUILD FAILED
这是我的build.gradle:
buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.library'
apply plugin: 'io.fabric'

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:6.1.71'
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile project(":PDFViewCtrlTools")
    compile('com.crashlytics.sdk.android:crashlytics:2.2.1') {
        transitive = true;
    }
}
android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    lintOptions {
        // If true, stop the gradle build if errors are found
        abortOnError false
        //ignore 'ValidFragment'
    }
}

这是我的AndroidManifest.xml

        <activity
        android:name="com.ecrome.tabook.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="xxxxxx" />
        </activity>

任何想法为什么我得到错误,我不能编译应用程序?

有两个build.gradle在项目/构建的第一个阶段。gradle添加:

buildscript {
    repositories {
      //ADD this Line
      maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        //ADD this Line
        classpath 'io.fabric.tools:gradle:1.22.2'
    }
 }

在第二个app/build中。gradle

buildscript {
    repositories {
      //ADD this Line
      maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        //ADD this Line
        classpath 'io.fabric.tools:gradle:1.22.2'
    }
 }
 apply plugin: 'io.fabric'
 repositories {
      maven { url 'https://maven.fabric.io/public' }
 }
 dependencies {
    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar'){
         transitive = true;
    }
 }

AndroidManifest

<uses-permission android:name="android.permission.INTERNET" />
<application
    <meta-data
        android:name="io.fabric.ApiKey"
        android:value="yourKey" />
<application/>

MainActivity

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Fabric.with(this, new Crashlytics());
    setContentView(R.layout.activity_main);
}

修改此部分,添加@aar符号

compile('com.crashlytics.sdk.android:crashlytics:2.2.1@aar') {
        transitive = true;
    }

通过这种方式,您将从repo下载aar构件。

你犯的一个错误是你在activity中添加了元数据

应该在<activity标签外,<application标签内

并确保在Application或Activity startUp中初始化了fabric。

Fabric.with(mContext, new Crashlytics());

最新更新