यदि आपके एंड्रॉइड ऐप में देशी लाइब्रेरी हैं, तो आप अपने ऐप के बिल्ड कॉन्फ़िगरेशन में कुछ छोटे अपडेट के साथ फायरबेस क्रैशलाइटिक्स से अपने मूल कोड के लिए पूर्ण स्टैक ट्रेस और विस्तृत क्रैश रिपोर्ट सक्षम कर सकते हैं।
यह मार्गदर्शिका बताती है कि एनडीके के लिए फायरबेस क्रैशलाइटिक्स एसडीके के साथ क्रैश रिपोर्टिंग को कैसे कॉन्फ़िगर किया जाए।
यदि आप खोज रहे हैं कि अपने यूनिटी प्रोजेक्ट्स में क्रैशलाइटिक्स के साथ शुरुआत कैसे करें, तो यूनिटी गेटिंग स्टार्टेड गाइड देखें।
शुरू करने से पहले
यदि आपने पहले से नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें । यदि आपके पास एंड्रॉइड ऐप नहीं है, तो आप एक नमूना ऐप डाउनलोड कर सकते हैं।
अनुशंसित : क्रैश-मुक्त उपयोगकर्ता, ब्रेडक्रंब लॉग और वेग अलर्ट जैसी सुविधाएं प्राप्त करने के लिए, आपको अपने फायरबेस प्रोजेक्ट में Google Analytics को सक्षम करना होगा।
यदि आपके मौजूदा फायरबेस प्रोजेक्ट में Google Analytics सक्षम नहीं है, तो आप फायरबेस कंसोल में अपनी एकीकरण टैब से Google Analytics को सक्षम कर सकते हैं।
> प्रोजेक्ट सेटिंग्स केयदि आप एक नया फायरबेस प्रोजेक्ट बना रहे हैं, तो प्रोजेक्ट निर्माण वर्कफ़्लो के दौरान Google Analytics सक्षम करें।
चरण 1 : एनडीके के लिए क्रैशलाइटिक्स एसडीके को अपने ऐप में जोड़ें
अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर<project>/<app-module>/build.gradle.kts
या <project>/<app-module>/build.gradle
), Crashlytics NDK के लिए निर्भरता जोड़ें एंड्रॉइड लाइब्रेरी. हम लाइब्रेरी वर्जनिंग को नियंत्रित करने के लिए फायरबेस एंड्रॉइड BoM का उपयोग करने की सलाह देते हैं।क्रैशलिटिक्स के साथ एक इष्टतम अनुभव के लिए, हम आपके फायरबेस प्रोजेक्ट में Google Analytics को सक्षम करने और अपने ऐप में Google Analytics के लिए फायरबेस एसडीके जोड़ने की सलाह देते हैं।
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Add the dependencies for the Crashlytics NDK and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk") implementation("com.google.firebase:firebase-analytics-ktx") }
फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।
(वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरताएँ जोड़ें
यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।
ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए BoM का उपयोग करने की दृढ़ता से अनुशंसा करते हैं, जो सुनिश्चित करता है कि सभी संस्करण संगत हैं।
dependencies { // Add the dependencies for the Crashlytics NDK and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk:18.4.3") implementation("com.google.firebase:firebase-analytics-ktx:21.3.0") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // Add the dependencies for the Crashlytics NDK and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk") implementation("com.google.firebase:firebase-analytics") }
फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।
(वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरताएँ जोड़ें
यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।
ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए BoM का उपयोग करने की दृढ़ता से अनुशंसा करते हैं, जो सुनिश्चित करता है कि सभी संस्करण संगत हैं।
dependencies { // Add the dependencies for the Crashlytics NDK and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics-ndk:18.4.3") implementation("com.google.firebase:firebase-analytics:21.3.0") }
चरण 2 : अपने ऐप में क्रैशलाइटिक्स ग्रैडल प्लगइन जोड़ें
अपने रूट-लेवल (प्रोजेक्ट-लेवल) ग्रैडल फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, क्रैशलाइटिक्स ग्रैडल प्लगइन कोplugins
ब्लॉक में जोड़ें:Kotlin
plugins { id("com.android.application") version "7.2.0" apply false // ... // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.3.15" apply false // Add the dependency for the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") version "2.9.9" apply false }
Groovy
plugins { id 'com.android.application' version '7.2.0' apply false // ... // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.3.15' apply false // Add the dependency for the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' version '2.9.9' apply false }
अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
), क्रैशलाइटिक्स ग्रैडल प्लगइन जोड़ें:Kotlin
plugins { id("com.android.application") // ... // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") }
Groovy
plugins { id 'com.android.application' // ... // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' }
चरण 3 : अपने निर्माण में क्रैशलिटिक्स एक्सटेंशन जोड़ें
अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में (आमतौर पर <project>/<app-module>/build.gradle.kts
या <project>/<app-module>/build.gradle
), क्रैशलाईटिक्स एक्सटेंशन को कॉन्फ़िगर करें।
Kotlin
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension // ... android { // ... buildTypes { getByName("release") { // Add this extension configure<CrashlyticsExtension> { // Enable processing and uploading of native symbols to Firebase servers. // By default, this is disabled to improve build speeds. // This flag must be enabled to see properly-symbolicated native // stack traces in the Crashlytics dashboard. nativeSymbolUploadEnabled = true } } } }
Groovy
// ... android { // ... buildTypes { release { // Add this extension firebaseCrashlytics { // Enable processing and uploading of native symbols to Firebase servers. // By default, this is disabled to improve build speeds. // This flag must be enabled to see properly-symbolicated native // stack traces in the Crashlytics dashboard. nativeSymbolUploadEnabled true } } } }
चरण 4 : मूल प्रतीकों की स्वचालित अपलोडिंग सेट करें
एनडीके क्रैश से पठनीय स्टैक ट्रेस तैयार करने के लिए, क्रैशलिटिक्स को आपके मूल बायनेरिज़ में प्रतीकों के बारे में जानने की आवश्यकता है। क्रैशलिटिक्स ग्रैडल प्लगइन में इस प्रक्रिया को स्वचालित करने के लिए uploadCrashlyticsSymbolFile BUILD_VARIANT
कार्य शामिल है।
ताकि आप स्वचालित प्रतीक अपलोडिंग के कार्य तक पहुंच सकें, सुनिश्चित करें कि आपके मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में
nativeSymbolUploadEnabled
true
पर सेट है।आपके स्टैक ट्रेस में विधि नाम प्रदर्शित करने के लिए, आपको अपनी NDK लाइब्रेरी के प्रत्येक निर्माण के बाद
uploadCrashlyticsSymbolFile BUILD_VARIANT
कार्य को स्पष्ट रूप से लागू करना होगा। उदाहरण के लिए:>./gradlew app:assembleBUILD_VARIANT\ app:uploadCrashlyticsSymbolFileBUILD_VARIANT
एनडीके के लिए क्रैशलिटिक्स एसडीके और क्रैशलिटिक्स ग्रैडल प्लगइन दोनों मूल साझा ऑब्जेक्ट के भीतर जीएनयू बिल्ड आईडी की उपस्थिति पर निर्भर करते हैं।
आप प्रत्येक बाइनरी पर
readelf -n
चलाकर इस आईडी की उपस्थिति को सत्यापित कर सकते हैं। यदि बिल्ड आईडी अनुपस्थित है, तो समस्या को ठीक करने के लिए अपने बिल्ड सिस्टम के फ़्लैग में-Wl,--build-id
जोड़ें।
चरण 5 : सेटअप समाप्त करने के लिए एक परीक्षण क्रैश को बाध्य करें
Crashlytics की स्थापना पूरी करने और Firebase कंसोल के Crashlytics डैशबोर्ड में प्रारंभिक डेटा देखने के लिए, आपको एक परीक्षण क्रैश को बाध्य करने की आवश्यकता है।
अपने ऐप में कोड जोड़ें जिसका उपयोग आप परीक्षण क्रैश को बाध्य करने के लिए कर सकते हैं।
आप अपने ऐप में एक बटन जोड़ने के लिए अपने ऐप की
MainActivity
में निम्नलिखित कोड का उपयोग कर सकते हैं, जिसे दबाने पर क्रैश हो जाता है। बटन को "टेस्ट क्रैश" लेबल दिया गया है।Kotlin+KTX
val crashButton = Button(this) crashButton.text = "Test Crash" crashButton.setOnClickListener { throw RuntimeException("Test Crash") // Force a crash } addContentView(crashButton, ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
Java
Button crashButton = new Button(this); crashButton.setText("Test Crash"); crashButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { throw new RuntimeException("Test Crash"); // Force a crash } }); addContentView(crashButton, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
अपना ऐप बनाएं और चलाएं.
अपने ऐप की पहली क्रैश रिपोर्ट भेजने के लिए परीक्षण क्रैश को बाध्य करें:
अपने परीक्षण उपकरण या एम्यूलेटर से अपना ऐप खोलें।
अपने ऐप में, "टेस्ट क्रैश" बटन दबाएं जिसे आपने उपरोक्त कोड का उपयोग करके जोड़ा है।
आपका ऐप क्रैश होने के बाद उसे रीस्टार्ट करें ताकि आपका ऐप फायरबेस को क्रैश रिपोर्ट भेज सके।
अपना परीक्षण क्रैश देखने के लिए फायरबेस कंसोल के क्रैशलाइटिक्स डैशबोर्ड पर जाएं।
यदि आपने कंसोल को रीफ्रेश किया है और आपको पांच मिनट के बाद भी परीक्षण क्रैश नहीं दिख रहा है, तो यह देखने के लिए डीबग लॉगिंग सक्षम करें कि आपका ऐप क्रैश रिपोर्ट भेज रहा है या नहीं।
और बस! क्रैशलाईटिक्स अब क्रैश के लिए आपके ऐप की निगरानी कर रहा है, और आप क्रैशलाइटिक्स डैशबोर्ड में क्रैश रिपोर्ट और आंकड़े देख और जांच कर सकते हैं।
अगले कदम
(अनुशंसित) GWP-ASan रिपोर्ट एकत्रित करके मूल मेमोरी त्रुटियों के कारण होने वाले क्रैश को डीबग करने में सहायता प्राप्त करें। ये मेमोरी-संबंधित त्रुटियां आपके ऐप के भीतर मेमोरी भ्रष्टाचार से जुड़ी हो सकती हैं, जो ऐप सुरक्षा कमजोरियों का प्रमुख कारण है। इस डिबगिंग सुविधा का लाभ उठाने के लिए, सुनिश्चित करें कि आपके ऐप में GWP-ASan स्पष्ट रूप से सक्षम है और NDK (v18.3.6+ या Firebase BoM v31.3.0+) के लिए नवीनतम क्रैशलाइटिक्स SDK का उपयोग करता है।
ऑप्ट-इन रिपोर्टिंग, लॉग, कुंजियाँ और गैर-घातक त्रुटियों की ट्रैकिंग जोड़कर अपनी क्रैश रिपोर्ट सेटअप को अनुकूलित करें ।
Google Play के साथ एकीकृत करें ताकि आप अपने Android ऐप की क्रैश रिपोर्ट को Google Play ट्रैक द्वारा सीधे Crashlytics डैशबोर्ड में फ़िल्टर कर सकें। यह आपको अपने डैशबोर्ड को विशिष्ट बिल्ड पर बेहतर ढंग से केंद्रित करने की अनुमति देता है।
समस्या निवारण
यदि आप फायरबेस कंसोल और लॉगकैट में अलग-अलग स्टैक ट्रेस देख रहे हैं, तो समस्या निवारण मार्गदर्शिका देखें।
प्रतीकों को अपलोड करने के लिए वैकल्पिक विकल्प
उपरोक्त इस पृष्ठ पर मुख्य वर्कफ़्लो मानक ग्रैडल बिल्ड के लिए लागू है। हालाँकि, कुछ ऐप्स एक अलग कॉन्फ़िगरेशन या टूलिंग का उपयोग करते हैं (उदाहरण के लिए ग्रैडल के अलावा एक निर्माण प्रक्रिया)। इन स्थितियों में, प्रतीकों को सफलतापूर्वक अपलोड करने के लिए निम्नलिखित विकल्प सहायक हो सकते हैं।
विकल्प : लाइब्रेरी मॉड्यूल और बाहरी निर्भरता के लिए प्रतीक अपलोड करें
यह विकल्प निम्नलिखित स्थितियों में सहायक हो सकता है:
- यदि आप ग्रैडल के भीतर एक अनुकूलित एनडीके निर्माण प्रक्रिया का उपयोग करते हैं
- यदि आपकी मूल लाइब्रेरी लाइब्रेरी/फीचर मॉड्यूल में बनाई गई है या किसी तीसरे पक्ष द्वारा प्रदान की गई है
- यदि स्वचालित प्रतीक अपलोड करने का कार्य विफल हो रहा है या आप डैशबोर्ड में असंबद्ध क्रैश देख रहे हैं
मानक क्रैशलिटिक्स प्रतीक अपलोड कार्य मानता है कि आप सीएमके जैसे मानक एनडीके बिल्ड टूल का उपयोग करके अपने ऐप मॉड्यूल के ग्रैडल बिल्ड के हिस्से के रूप में अपनी मूल लाइब्रेरी बना रहे हैं।
हालाँकि, यदि आप ग्रैडल के भीतर एक अनुकूलित एनडीके बिल्ड प्रक्रिया का उपयोग कर रहे हैं, या आपकी मूल लाइब्रेरी लाइब्रेरी/फीचर मॉड्यूल में बनाई गई है या किसी तीसरे पक्ष द्वारा प्रदान की गई है, तो आपको अपनी अनस्ट्रिप्ड लाइब्रेरी के लिए पथ को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता हो सकती है। इसे पूरा करने के लिए, आप अपनी ग्रैडल बिल्ड फ़ाइल में क्रैशलिटिक्स एक्सटेंशन के भीतर unstrippedNativeLibsDir
प्रॉपर्टी जोड़ सकते हैं।
सुनिश्चित करें कि आपने इस पृष्ठ पर पहले मुख्य वर्कफ़्लो से निम्नलिखित प्रारंभिक कार्य पूरे कर लिए हैं:
ताकि स्वचालित प्रतीक अपलोड करने का कार्य आपके प्रतीक की जानकारी पा सके, अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल में निम्नलिखित जोड़ें (आमतौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
):Kotlin
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension // ... android { // ... buildTypes { release { configure
{ nativeSymbolUploadEnabled = true unstrippedNativeLibsDir = file("PATH/TO/UNSTRIPPED/DIRECTORY") } } } } Groovy
// ... android { // ... buildTypes { release { firebaseCrashlytics { nativeSymbolUploadEnabled true unstrippedNativeLibsDir file("PATH/TO/UNSTRIPPED/DIRECTORY") } } } }
क्रैशलिटिक्स प्लगइन
.so
एक्सटेंशन के साथ मूल पुस्तकालयों के लिए निर्दिष्ट निर्देशिका को पुनरावर्ती रूप से खोजेगा। क्रैशलिटिक्स फिर ऐसी सभी लाइब्रेरी से डिबगिंग प्रतीकों को निकालता है और उन्हें फायरबेस सर्वर पर अपलोड करता है।यहां बताया गया है कि आप
unstrippedNativeLibsDir
प्रॉपर्टी में क्या निर्दिष्ट कर सकते हैं:org.gradle.api.Project#files(Object...)
के लिए स्वीकार्य कोई भी तर्क, जिसमें शामिल हैं:java.lang.String
,java.io.File
, याorg.gradle.api.file.FileCollection
एक सूची या
FileCollection
उदाहरण प्रदान करके एकल निर्माण स्वाद के लिए एकाधिक निर्देशिकाएँ
अंत में, क्रैशलिटिक्स की स्थापना पूरी करने और फायरबेस कंसोल के क्रैशलाइटिक्स डैशबोर्ड में प्रारंभिक डेटा देखने के लिए एक परीक्षण क्रैश को बाध्य करें ।
विकल्प : गैर-ग्रैडल बिल्ड या दुर्गम अनस्ट्रिप्ड देशी लाइब्रेरी के लिए प्रतीक अपलोड करें
यह विकल्प निम्नलिखित स्थितियों में सहायक हो सकता है:
यदि आप ग्रैडल के अलावा किसी अन्य बिल्ड प्रक्रिया का उपयोग करते हैं
यदि आपकी अनस्ट्रिप्ड देशी लाइब्रेरीज़ आपको इस तरह से प्रदान की जाती हैं कि वे ग्रैडल बिल्ड के दौरान पहुंच योग्य नहीं हैं
इस विकल्प के लिए आवश्यक है कि जब आप रिलीज़ बिल्ड या कोई बिल्ड बनाते हैं जिसके लिए आप फायरबेस कंसोल में प्रतीकात्मक स्टैक ट्रेस देखना चाहते हैं तो आप फायरबेस सीएलआई कमांड चलाएं।
सुनिश्चित करें कि आपने इस पृष्ठ पर पहले मुख्य वर्कफ़्लो से निम्नलिखित प्रारंभिक कार्य पूरे कर लिए हैं:
एनडीके के लिए क्रैशलिटिक्स एसडीके और क्रैशलिटिक्स ग्रैडल प्लगइन जोड़ा गया।
ध्यान दें कि इस विकल्प के साथ, आपको
firebaseCrashlytics
एक्सटेंशन जोड़ने या स्वचालित प्रतीक अपलोडिंग सेट करने की आवश्यकता नहीं है क्योंकि इसके बजाय आप अपनी प्रतीक फ़ाइलें बनाने और अपलोड करने के लिए Firebase CLI (अगले चरण नीचे) का उपयोग करेंगे।प्रतीक अपलोड करने के लिए अपना परिवेश और प्रोजेक्ट सेट करें:
फायरबेस सीएलआई स्थापित करने के लिए निर्देशों का पालन करें।
यदि आपने पहले ही सीएलआई स्थापित कर लिया है, तो उसके नवीनतम संस्करण में अद्यतन करना सुनिश्चित करें।
(केवल Android API स्तर 30+ का उपयोग करने वाले ऐप्स के लिए) पॉइंटर टैगिंग को अक्षम करने के लिए अपने ऐप के
AndroidManifest.xml
टेम्पलेट को अपडेट करें:एंड्रॉइड प्लेयर सेटिंग्स > प्रकाशन सेटिंग्स > बिल्ड > कस्टम मेन मेनिफेस्ट के लिए बॉक्स को चेक करें।
Assets/Plugins/Android/AndroidManifest.xml
पर स्थित मेनिफेस्ट टेम्पलेट खोलें।एप्लिकेशन टैग में निम्नलिखित विशेषता जोड़ें:
<application android:allowNativeHeapPointerTagging="false" ... />
अपना प्रोजेक्ट बनाएं.
अपने प्रतीकों की जानकारी अपलोड करें.
एक बार जब आपका निर्माण पूरा हो जाए, तो एक क्रैशलिटिक्स-संगत प्रतीक फ़ाइल बनाएं और इसे निम्नलिखित फायरबेस सीएलआई कमांड चलाकर फायरबेस सर्वर पर अपलोड करें:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
FIREBASE_APP_ID : आपका फायरबेस एंड्रॉइड ऐप आईडी (आपके पैकेज का नाम नहीं)
उदाहरण फायरबेस एंड्रॉइड ऐप आईडी:1:567383003300:android:17104a2ced0c9b9b
अपनी फायरबेस ऐप आईडी ढूंढने के दो तरीके यहां दिए गए हैं:
आपकी
google-services.json
फ़ाइल में, आपकी ऐप आईडीmobilesdk_app_id
मान है; याफायरबेस कंसोल में, अपनी प्रोजेक्ट सेटिंग्स पर जाएं। योर ऐप्स कार्ड तक नीचे स्क्रॉल करें, फिर उसकी ऐप आईडी ढूंढने के लिए वांछित फायरबेस ऐप पर क्लिक करें।
PATH/TO/SYMBOLS : सीएलआई द्वारा उत्पन्न प्रतीक फ़ाइल का पथ
एंड्रॉइड स्टूडियो प्रोजेक्ट में निर्यात किया गया - PATH/TO/SYMBOLS कोई भी निर्देशिका हो सकती है। फायरबेस सीएलआई
.so
एक्सटेंशन के साथ मूल पुस्तकालयों के लिए निर्दिष्ट निर्देशिका को पुनरावर्ती रूप से खोजेगा।एपीके को सीधे यूनिटी के भीतर से निर्मित किया गया - PATH/TO/SYMBOLS आपका निर्माण समाप्त होने पर प्रोजेक्ट रूट निर्देशिका में उत्पन्न ज़िप्ड प्रतीक फ़ाइल का पथ है (उदाहरण के लिए:
myproject/myapp-1.0-v100.symbols.zip
)।
प्रतीक फ़ाइल निर्माण और अपलोड के लिए फायरबेस सीएलआई कमांड का उपयोग करने के लिए उन्नत विकल्प देखें
झंडा विवरण --generator=csym
डिफ़ॉल्ट ब्रेकपैड जनरेटर के बजाय लीगेसी सीएसवाईएम प्रतीक फ़ाइल जनरेटर का उपयोग करता है
उपयोग के लिए अनुशंसित नहीं है. हम डिफ़ॉल्ट ब्रेकपैड प्रतीक फ़ाइल जनरेटर का उपयोग करने की अनुशंसा करते हैं।
--generator=breakpad
ब्रेकपैड प्रतीक फ़ाइल जनरेटर का उपयोग करता है
ध्यान दें कि प्रतीक फ़ाइल निर्माण के लिए डिफ़ॉल्ट ब्रेकपैड है। इस फ़्लैग का उपयोग केवल तभी करें जब आपने अपने बिल्ड कॉन्फ़िगरेशन में
symbolGenerator { csym() }
जोड़ा हो और आप इसके बजाय ब्रेकपैड का उपयोग करने के लिए इसे ओवरराइड करना चाहते हों।--dry-run
प्रतीक फ़ाइलें उत्पन्न करता है लेकिन उन्हें अपलोड नहीं करता है
यदि आप भेजी गई फ़ाइलों की सामग्री का निरीक्षण करना चाहते हैं तो यह ध्वज उपयोगी है।
--debug
अतिरिक्त डिबगिंग जानकारी प्रदान करता है अंत में, क्रैशलिटिक्स की स्थापना पूरी करने और फायरबेस कंसोल के क्रैशलाइटिक्स डैशबोर्ड में प्रारंभिक डेटा देखने के लिए एक परीक्षण क्रैश को बाध्य करें ।
क्रैश को मजबूर करने के हिस्से के रूप में अपना ऐप बनाने के बाद, अपनी प्रतीक फ़ाइल अपलोड करने के लिए फायरबेस सीएलआई
crashlytics:symbols:upload
कमांड चलाना सुनिश्चित करें।