한동안 최신 Crashlytics (Fabric 통합)를 사용하고 있습니다. 하지만 최근에 Crashlytics 구성에 대해 아무것도 변경하지 않았지만 종속성 누락으로 인해 다음과 같은 충돌 오류가 발생했습니다.
어떤 생각?
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ | | /
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ /
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \ /
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . \/
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . /\
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / \
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / \
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . / | | \
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ . | |
02-08 22:18:00.935 18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935 18887-18887/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.android.staging, PID: 18887
java.lang.RuntimeException: Unable to create application com.example.android.App: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: com.crashlytics.android.CrashlyticsMissingDependencyException:
This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4734)
at android.app.ActivityThread.access$1600(ActivityThread.java:171)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5506)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
답변
현재 유일한 해결 방법은 앱을 게시해야하는 경우 (예 : 저처럼) 동적 버전 번호를 정적 버전으로 변경하는 것입니다.
[...]
classpath 'io.fabric.tools:gradle:1.14.4'
[...]
compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
transitive = true
}
[...]
편집하다:
Fabric SDK의 업데이트 된 버전이 게시되었습니다. 다음과 같이 줄을 변경하여 얻을 수 있습니다.
classpath 'io.fabric.tools:gradle:1.26.1'
답변
실제로 Fabric / Crashlytics를 설치하기 전에 다음 코드를 추가했습니다.
debug {
ext.enableCrashlytics = false
}
Crashlytics로 처음 실행하기 전에 제거하면 문제가 해결되었습니다. 첫 번째 실행 후에는 더 이상 문제가 발생하지 않습니다.
답변
나는 이것을 gradle에서 주석 처리했습니다.
apply plugin: 'io.fabric'
주석을 제거해야했습니다.
또는없는 경우 추가하십시오!
답변
플러그인 버전을 다음과 같이 지정하는 것 같습니다.
classpath 'io.fabric.tools:gradle:1.+'
문제가있는 1.15.1을 선택합니다.
메이저 및 마이너를 이전으로 지정 1.14
하는 것이 안정된 것 같습니다.
classpath 'io.fabric.tools:gradle:1.14.+'
답변
플러그인 업데이트 후에도 동일한 문제가 발생했습니다. 해결하려면 AndroidManifest.xml에서 제거해야합니다.
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="API_SECRET_KEY" />
fabric.properties에 추가하십시오.
apiSecret=API_SECRET_KEY
apiKey=YOUR_SECRET_KEY
최신 정보:
이제 다음을 사용해야합니다.
<meta-data
android:name="io.fabric.ApiKey"
android:value="API_KEY" />
답변
다음과 같이 디버그 중에 비활성화 기능을 사용하는 경우
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
Fabric.with(this, crashlyticsKit);
crashlytics 버전을 업데이트하면 어떻게 되나요?
Fabric.with(this, crashlyticsKit);
로 바뀌었다
Fabric.with(this,new Crashlytics());
따라서 다시 crashlyticskit으로 변경하십시오. 이 작업을 올바르게 수행하고 있는데도 오류가 계속 나타나면 다음이 있는지 확인하십시오.
debug {
ext.enableCrashlytics = false
}
Android {buildtypes {}}에서
답변
Crashlytics의 Mike입니다. 이 동작에 대한 수정 사항이 포함 된 업데이트 버전 (1.15.2)을 오늘 일찍 출시했습니다. 실행하는 경우 :
./gradlew assemble --refresh-dependencies
최신 버전을 가져올 것입니다. 여기에서 수정 사항에 대한 자세한 내용을 볼 수도 있습니다.