इस post के संदर्भ में, क्या किसी के पास build.gradle फ़ाइलों की एक जोड़ी है जो एंड्रॉइड लाइब्रेरी प्रोजेक्ट से क्रैशलिटिक्स को संदर्भित करने के लिए मूल सेटअप का प्रदर्शन करती है?उदाहरण ग्रेडल ऐप और लाइब्रेरी प्रोजेक्ट्स से क्रैशलिटिक्स को संदर्भित करने के लिए फाइलें बनाएं
मुझे निम्न त्रुटि मिलती है, भले ही मैंने उपरोक्त वर्णित पोस्ट के माध्यम से प्रदान की गई सिफारिश का पालन किया हो।
यह मेरी ऐप 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
}
}
}
यह मेरी वर्तमान लाइब्रेरी 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
}
}
}
मैं Crashlytics ने कहा था कुछ समय का समर्थन पहले बस एक buildType में 'ext.enableCrashlytics' ध्वज का उपयोग करें।
उपरोक्त ग्रेडल बिल्ड फ़ाइलों का उपयोग करते हुए वर्तमान क्रमिक त्रुटि निम्न है।
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
एक माध्यमिक सवाल के रूप में, मैं दोनों फाइलों में buildConfigField मूल्यों का एक ही सेट बनाने की जरूरत है, तो मैं के बाद मैं वर्तमान Gradle निर्माण त्रुटि अतीत मिलता है दोनों परियोजनाओं से उन्हें उपयोग करना चाहते हैं। मैं ग्रैडल और एंड्रॉइड स्टूडियो के लिए काफी नया हूं, लेकिन इंटरट्रॉन की खोज में अभी तक कोई जवाब नहीं मिला है।
अग्रिम धन्यवाद।
क्या आपको लगता है कि यह केवल लाइब्रेरी प्रोजेक्ट के लिए काम करेगा, बिना किसी क्रैशलिटिक्स से संबंधित कॉन्फ़िगरेशन के पक्ष में? – mass
मुझे विश्वास नहीं है कि यह इस तथ्य पर आधारित होगा कि 'क्रैशिलिक्स। प्रारंभ करें() को ऐप (धारणा) में कॉल करने की आवश्यकता है। –
स्पष्ट रूप से आप कहीं और प्रारंभ करने के लिए कॉल कर सकते हैं, फिर भी उनके बैकएंड क्रैशलिटिक्स पर आपके एप्लिकेशन पैकेज/नाम के साथ प्लगइन द्वारा जेनरेट की गई आपकी एपीआई-कुंजी जोड़ती है। इसलिए लाइब्रेरी से इनिट को कॉल करने के लिए मेरे पास अभी तक कोई वास्तविक उपयोग केस नहीं है, जब तक कि आप अपने पुस्तकालय वितरण के साथ कई अनुप्रयोगों को कवर करने के लिए ऐसा नहीं कर सकते। – mass