Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Nhận báo cáo sự cố NDK của Android

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Nếu ứng dụng Android của bạn chứa các thư viện gốc , bạn có thể bật theo dõi ngăn xếp đầy đủ và báo cáo sự cố chi tiết cho mã gốc của mình từ Firebase Crashlytics với một vài cập nhật nhỏ cho cấu hình bản dựng của ứng dụng.

Hướng dẫn này mô tả cách định cấu hình báo cáo sự cố với SDK Firebase Crashlytics cho NDK.

Nếu bạn đang tìm cách bắt đầu với Crashlytics trong các dự án Unity của mình, hãy xem hướng dẫn Bắt đầu Unity .

Trước khi bắt đầu

  1. Nếu bạn chưa có, hãy thêm Firebase vào dự án Android của bạn. Nếu chưa có ứng dụng Android, bạn có thể tải xuống ứng dụng mẫu .

  2. Được đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký đường dẫn và cảnh báo vận tốc, bạn cần bật Google Analytics trong dự án Firebase của mình.

    • Nếu dự án Firebase hiện tại của bạn chưa bật Google Analytics, bạn có thể bật Google Analytics từ tab Tích hợp trong đặt dự án trong bảng điều khiển Firebase.

    • Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quá trình tạo dự án.

Bước 1 : Thêm Crashlytics SDK cho NDK vào ứng dụng của bạn

Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là <project>/<app-module>/build.gradle ), thêm phần phụ thuộc cho thư viện Crashlytics NDK Android. Chúng tôi khuyên bạn nên sử dụng Firebase Android BoM để kiểm soát việc lập phiên bản thư viện.

Để có trải nghiệm tối ưu với Crashlytics, chúng tôi khuyên bạn nên bật Google Analytics trong dự án Firebase và thêm SDK Firebase cho Google Analytics vào ứng dụng của mình.

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // 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'
}

Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Firebase Android.

(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM

Nếu bạn chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.

Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.

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.2.13'
    implementation 'com.google.firebase:firebase-analytics:21.1.1'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // 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'
}

Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Firebase Android.

(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM

Nếu bạn chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.

Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.

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.2.13'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
}

Bước 2 : Thêm plugin Crashlytics Gradle vào ứng dụng của bạn

  1. Trong tệp Gradle cấp gốc (cấp dự án) của bạn ( <project>/build.gradle ), hãy thêm plugin Crashlytics Gradle làm phụ thuộc buildcript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là <project>/<app-module>/build.gradle ), hãy thêm plugin Crashlytics Gradle:

    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'
        ...
    }

Bước 3 : Thêm tiện ích mở rộng firebaseCrashlytics vào bản dựng của bạn

Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là app/build.gradle ), hãy thêm phần mở rộng firebaseCrashlytics .

Java

// ...

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
          }
      }
  }
}

Kotlin+KTX

// ...

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
          }
      }
  }
}

Bước 4 : Thiết lập tải lên tự động các biểu tượng gốc

Để tạo ra dấu vết ngăn xếp có thể đọc được từ sự cố NDK, Crashlytics cần biết về các ký hiệu trong mã nhị phân gốc của bạn. Plugin Crashlytics Gradle bao gồm tác vụ uploadCrashlyticsSymbolFile BUILD_VARIANT để tự động hóa quá trình này.

  1. Để bạn có thể truy cập tác vụ tải lên ký hiệu tự động, hãy đảm bảo rằng nativeSymbolUploadEnabled được đặt thành true trong tệp Gradle mô-đun (cấp ứng dụng) của bạn.

  2. Để tên phương thức xuất hiện trong dấu vết ngăn xếp của bạn, bạn phải gọi rõ ràng tác vụ uploadCrashlyticsSymbolFile BUILD_VARIANT sau mỗi lần xây dựng thư viện NDK của bạn. Ví dụ:

    >./gradlew app:assembleBUILD_VARIANT\
               app:uploadCrashlyticsSymbolFileBUILD_VARIANT
    
  3. Cả Crashlytics SDK cho NDK và plugin Crashlytics Gradle đều phụ thuộc vào sự hiện diện của ID bản dựng GNU trong các đối tượng được chia sẻ gốc.

    Bạn có thể xác minh sự hiện diện của ID này bằng cách chạy readelf -n trên mỗi tệp nhị phân. Nếu không có ID bản dựng, hãy thêm -Wl,--build-id vào cờ của hệ thống bản dựng của bạn để khắc phục sự cố.

Bước 5 : Buộc kiểm tra sự cố để hoàn tất quá trình thiết lập

Để hoàn tất quá trình thiết lập Crashlytics và xem dữ liệu ban đầu trong trang tổng quan Crashlytics của bảng điều khiển Firebase, bạn cần thực hiện kiểm tra sự cố.

  1. Thêm mã vào ứng dụng của bạn mà bạn có thể sử dụng để tạo ra sự cố thử nghiệm.

    Bạn có thể sử dụng mã sau trong MainActivity của ứng dụng để thêm một nút vào ứng dụng mà khi được nhấn sẽ gây ra lỗi. Nút có nhãn "Kiểm tra sự cố".

    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));
    

    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))
    
  2. Xây dựng và chạy ứng dụng của bạn.

  3. Buộc kiểm tra sự cố để gửi báo cáo sự cố đầu tiên của ứng dụng của bạn:

    1. Mở ứng dụng của bạn từ thiết bị thử nghiệm hoặc trình mô phỏng.

    2. Trong ứng dụng của bạn, nhấn nút "Kiểm tra sự cố" mà bạn đã thêm bằng cách sử dụng mã ở trên.

    3. Sau khi ứng dụng của bạn gặp sự cố, hãy khởi động lại ứng dụng để ứng dụng của bạn có thể gửi báo cáo sự cố tới Firebase.

  4. Truy cập trang tổng quan Crashlytics của bảng điều khiển Firebase để xem sự cố thử nghiệm của bạn.

    Nếu bạn đã làm mới bảng điều khiển và bạn vẫn không thấy sự cố thử nghiệm sau năm phút, hãy bật ghi nhật ký gỡ lỗi để xem liệu ứng dụng của bạn có đang gửi báo cáo sự cố hay không.


Và đó là nó! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm sự cố và bạn có thể xem và điều tra các báo cáo và thống kê sự cố trong trang tổng quan Crashlytics.



Các tùy chọn thay thế để tải lên các ký hiệu

Quy trình làm việc chính trên trang này ở trên có thể áp dụng cho các bản dựng Gradle tiêu chuẩn. Tuy nhiên, một số ứng dụng sử dụng cấu hình hoặc công cụ khác (ví dụ: quy trình xây dựng không phải Gradle). Trong những trường hợp này, các tùy chọn sau đây có thể hữu ích để tải lên thành công các ký hiệu.

Tùy chọn : Tải lên các ký hiệu cho các mô-đun thư viện và các phần phụ thuộc bên ngoài

Tùy chọn này có thể hữu ích trong các trường hợp sau:

  • Nếu bạn sử dụng quy trình xây dựng NDK tùy chỉnh trong Gradle
  • Nếu thư viện gốc của bạn được xây dựng trong mô-đun thư viện / tính năng hoặc được cung cấp bởi bên thứ ba
  • Nếu tác vụ tải lên biểu tượng tự động không thành công hoặc bạn thấy các lỗi không được ký hiệu trong trang tổng quan

Tùy chọn : Tải lên các biểu tượng cho các bản dựng không phải Gradle hoặc các thư viện gốc chưa mã hóa không thể truy cập được

Tùy chọn này có thể hữu ích trong các trường hợp sau:

  • Nếu bạn sử dụng một quy trình xây dựng khác với Gradle

  • Nếu các thư viện gốc chưa được sắp xếp của bạn được cung cấp cho bạn theo một cách nào đó mà chúng không thể truy cập được trong quá trình xây dựng Gradle



Xử lý sự cố

Nếu bạn thấy các dấu vết ngăn xếp khác nhau trong bảng điều khiển Firebase và trong logcat, hãy tham khảo hướng dẫn Khắc phục sự cố .

Bước tiếp theo

  • Tùy chỉnh thiết lập báo cáo sự cố của bạn bằng cách thêm báo cáo chọn tham gia, nhật ký, khóa và theo dõi các lỗi không nghiêm trọng.

  • Tích hợp với Google Play để bạn có thể lọc báo cáo sự cố của ứng dụng Android của mình theo Google Play trực tiếp trong trang tổng quan Crashlytics. Điều này cho phép bạn tập trung tốt hơn trang tổng quan của mình vào các bản dựng cụ thể.

,

Nếu ứng dụng Android của bạn chứa các thư viện gốc , bạn có thể bật theo dõi ngăn xếp đầy đủ và báo cáo sự cố chi tiết cho mã gốc của mình từ Firebase Crashlytics với một vài cập nhật nhỏ cho cấu hình bản dựng của ứng dụng.

Hướng dẫn này mô tả cách định cấu hình báo cáo sự cố với SDK Firebase Crashlytics cho NDK.

Nếu bạn đang tìm cách bắt đầu với Crashlytics trong các dự án Unity của mình, hãy xem hướng dẫn Bắt đầu Unity .

Trước khi bắt đầu

  1. Nếu bạn chưa có, hãy thêm Firebase vào dự án Android của bạn. Nếu chưa có ứng dụng Android, bạn có thể tải xuống ứng dụng mẫu .

  2. Được đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký đường dẫn và cảnh báo vận tốc, bạn cần bật Google Analytics trong dự án Firebase của mình.

    • Nếu dự án Firebase hiện tại của bạn chưa bật Google Analytics, bạn có thể bật Google Analytics từ tab Tích hợp trong đặt dự án trong bảng điều khiển Firebase.

    • Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quá trình tạo dự án.

Bước 1 : Thêm Crashlytics SDK cho NDK vào ứng dụng của bạn

Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là <project>/<app-module>/build.gradle ), thêm phần phụ thuộc cho thư viện Crashlytics NDK Android. Chúng tôi khuyên bạn nên sử dụng Firebase Android BoM để kiểm soát việc lập phiên bản thư viện.

Để có trải nghiệm tối ưu với Crashlytics, chúng tôi khuyên bạn nên bật Google Analytics trong dự án Firebase và thêm SDK Firebase cho Google Analytics vào ứng dụng của mình.

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // 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'
}

Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Firebase Android.

(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM

Nếu bạn chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.

Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.

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.2.13'
    implementation 'com.google.firebase:firebase-analytics:21.1.1'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.0')

    // 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'
}

Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Firebase Android.

(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM

Nếu bạn chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.

Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.

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.2.13'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
}

Bước 2 : Thêm plugin Crashlytics Gradle vào ứng dụng của bạn

  1. Trong tệp Gradle cấp gốc (cấp dự án) của bạn ( <project>/build.gradle ), hãy thêm plugin Crashlytics Gradle làm phụ thuộc buildcript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là <project>/<app-module>/build.gradle ), hãy thêm plugin Crashlytics Gradle:

    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'
        ...
    }

Bước 3 : Thêm tiện ích mở rộng firebaseCrashlytics vào bản dựng của bạn

Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là app/build.gradle ), hãy thêm phần mở rộng firebaseCrashlytics .

Java

// ...

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
          }
      }
  }
}

Kotlin+KTX

// ...

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
          }
      }
  }
}

Bước 4 : Thiết lập tải lên tự động các biểu tượng gốc

Để tạo ra dấu vết ngăn xếp có thể đọc được từ sự cố NDK, Crashlytics cần biết về các ký hiệu trong mã nhị phân gốc của bạn. Plugin Crashlytics Gradle bao gồm tác vụ uploadCrashlyticsSymbolFile BUILD_VARIANT để tự động hóa quá trình này.

  1. Để bạn có thể truy cập tác vụ tải lên ký hiệu tự động, hãy đảm bảo rằng nativeSymbolUploadEnabled được đặt thành true trong tệp Gradle mô-đun (cấp ứng dụng) của bạn.

  2. Để tên phương thức xuất hiện trong dấu vết ngăn xếp của bạn, bạn phải gọi rõ ràng tác vụ uploadCrashlyticsSymbolFile BUILD_VARIANT sau mỗi lần xây dựng thư viện NDK của bạn. Ví dụ:

    >./gradlew app:assembleBUILD_VARIANT\
               app:uploadCrashlyticsSymbolFileBUILD_VARIANT
    
  3. Cả Crashlytics SDK cho NDK và plugin Crashlytics Gradle đều phụ thuộc vào sự hiện diện của ID bản dựng GNU trong các đối tượng được chia sẻ gốc.

    Bạn có thể xác minh sự hiện diện của ID này bằng cách chạy readelf -n trên mỗi tệp nhị phân. Nếu không có ID bản dựng, hãy thêm -Wl,--build-id vào cờ của hệ thống bản dựng của bạn để khắc phục sự cố.

Bước 5 : Buộc kiểm tra sự cố để hoàn tất quá trình thiết lập

Để hoàn tất quá trình thiết lập Crashlytics và xem dữ liệu ban đầu trong trang tổng quan Crashlytics của bảng điều khiển Firebase, bạn cần thực hiện kiểm tra sự cố.

  1. Thêm mã vào ứng dụng của bạn mà bạn có thể sử dụng để tạo ra sự cố thử nghiệm.

    Bạn có thể sử dụng mã sau trong MainActivity của ứng dụng để thêm một nút vào ứng dụng mà khi được nhấn sẽ gây ra lỗi. Nút có nhãn "Kiểm tra sự cố".

    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));
    

    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))
    
  2. Xây dựng và chạy ứng dụng của bạn.

  3. Buộc kiểm tra sự cố để gửi báo cáo sự cố đầu tiên của ứng dụng của bạn:

    1. Mở ứng dụng của bạn từ thiết bị thử nghiệm hoặc trình mô phỏng.

    2. Trong ứng dụng của bạn, nhấn nút "Kiểm tra sự cố" mà bạn đã thêm bằng cách sử dụng mã ở trên.

    3. Sau khi ứng dụng của bạn gặp sự cố, hãy khởi động lại ứng dụng để ứng dụng của bạn có thể gửi báo cáo sự cố tới Firebase.

  4. Truy cập trang tổng quan Crashlytics của bảng điều khiển Firebase để xem sự cố thử nghiệm của bạn.

    Nếu bạn đã làm mới bảng điều khiển và bạn vẫn không thấy sự cố thử nghiệm sau năm phút, hãy bật ghi nhật ký gỡ lỗi để xem liệu ứng dụng của bạn có đang gửi báo cáo sự cố hay không.


Và đó là nó! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm sự cố và bạn có thể xem và điều tra các báo cáo và thống kê sự cố trong trang tổng quan Crashlytics.



Các tùy chọn thay thế để tải lên các ký hiệu

Quy trình làm việc chính trên trang này ở trên có thể áp dụng cho các bản dựng Gradle tiêu chuẩn. Tuy nhiên, một số ứng dụng sử dụng cấu hình hoặc công cụ khác (ví dụ: quy trình xây dựng không phải Gradle). Trong những trường hợp này, các tùy chọn sau đây có thể hữu ích để tải lên thành công các ký hiệu.

Tùy chọn : Tải lên các ký hiệu cho các mô-đun thư viện và các phần phụ thuộc bên ngoài

Tùy chọn này có thể hữu ích trong các trường hợp sau:

  • Nếu bạn sử dụng quy trình xây dựng NDK tùy chỉnh trong Gradle
  • Nếu thư viện gốc của bạn được xây dựng trong mô-đun thư viện / tính năng hoặc được cung cấp bởi bên thứ ba
  • Nếu tác vụ tải lên biểu tượng tự động không thành công hoặc bạn thấy các lỗi không được ký hiệu trong trang tổng quan

Tùy chọn : Tải lên các biểu tượng cho các bản dựng không phải Gradle hoặc các thư viện gốc chưa mã hóa không thể truy cập được

Tùy chọn này có thể hữu ích trong các trường hợp sau:

  • Nếu bạn sử dụng một quy trình xây dựng khác với Gradle

  • Nếu các thư viện gốc chưa được sắp xếp của bạn được cung cấp cho bạn theo một cách nào đó mà chúng không thể truy cập được trong quá trình xây dựng Gradle



Xử lý sự cố

Nếu bạn thấy các dấu vết ngăn xếp khác nhau trong bảng điều khiển Firebase và trong logcat, hãy tham khảo hướng dẫn Khắc phục sự cố .

Bước tiếp theo

  • Tùy chỉnh thiết lập báo cáo sự cố của bạn bằng cách thêm báo cáo chọn tham gia, nhật ký, khóa và theo dõi các lỗi không nghiêm trọng.

  • Tích hợp với Google Play để bạn có thể lọc báo cáo sự cố của ứng dụng Android của mình theo Google Play trực tiếp trong trang tổng quan Crashlytics. Điều này cho phép bạn tập trung tốt hơn trang tổng quan của mình vào các bản dựng cụ thể.