Czy w odniesieniu do tego post ktoś ma parę plików build.gradle, które demonstrują podstawową konfigurację odwoływania się do Crashlytics z projektu biblioteki Androida?Przykładowe pliki kompilacji gradacji do odwoływania się do Crashlytics z projektów App i Library
Otrzymuję następujący błąd, mimo że postępowałem zgodnie z zaleceniem dostarczonym przez pocztę pierwotnie wspomnianą powyżej.
To jest plik aplikacji 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
}
}
}
To jest mój bieżący plik biblioteki 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
}
}
}
powiedziano mi przez Crashlytics wspierać jakiś czas temu po prostu użyć flagi „ext.enableCrashlytics” w buildType.
Poniżej znajduje się bieżący błąd gradowania, który występuje przy użyciu powyższych plików kompilacji 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
jako pytanie wtórnym, muszę utworzyć ten sam zestaw wartości buildConfigField w obu plikach, jeśli chcę z nich korzystać zarówno z projektów po tym, jak ominąć bieżącego Gradle błędem kompilacji. Jestem całkiem nowy w Gradle i Android Studio, ale przeszukanie Intertrona nie dało jeszcze odpowiedzi.
Z góry dziękuję.
Czy uważasz, że to działałoby tylko w przypadku projektu bibliotecznego, bez konfiguracji związanej z Crashlytics po stronie aplikacji? – mass
Nie wierzę, że byłoby to oparte na fakcie, że 'Crashyltics.Initialize()' musi zostać wywołane w aplikacji (założeniu). –
Wygląda na to, że możesz wywołać inicjowanie w innym miejscu, ale w ich zapleczu Crashlytics paruje twój klucz API wygenerowany przez wtyczkę z Twoim pakietem aplikacji/nazwą. W związku z tym nie ma dla mnie rzeczywistego przypadku (jak dotąd) wywoływania init z biblioteki, chyba że nie możesz tego zrobić, aby pokryć wiele aplikacji dystrybucją biblioteki. – mass