我正在尝试安装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());