在Android中使用Firebase Crashlytics时,如果你的应用程序使用了NDK,并且在崩溃时Crashlytics没有提供完整的堆栈信息,你可以尝试以下解决方法:
android {
// ...
defaultConfig {
// ...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
}
// ...
}
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
// Set the NDK crash reporting path
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk_lib_name) + ".so";
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseCrashlytics.getInstance().setNativeSymbolUploadEnabled(true);
// Set the NDK crash reporting path
String abi = Build.CPU_ABI;
String path = getApplicationInfo().nativeLibraryDir + "/" + abi + "/lib" + getString(R.string.crashlytics_ndk