diff --git a/Android/lib/arm64-v8a/libbacktrace-crashpad.so b/Android/lib/arm64-v8a/libbacktrace-crashpad.so
deleted file mode 100644
index 4863697f..00000000
Binary files a/Android/lib/arm64-v8a/libbacktrace-crashpad.so and /dev/null differ
diff --git a/Android/lib/arm64-v8a/libbacktrace-native.so b/Android/lib/arm64-v8a/libbacktrace-native.so
new file mode 100644
index 00000000..d3feac38
Binary files /dev/null and b/Android/lib/arm64-v8a/libbacktrace-native.so differ
diff --git a/Android/lib/arm64-v8a/libbacktrace-crashpad.so.meta b/Android/lib/arm64-v8a/libbacktrace-native.so.meta
similarity index 94%
rename from Android/lib/arm64-v8a/libbacktrace-crashpad.so.meta
rename to Android/lib/arm64-v8a/libbacktrace-native.so.meta
index c8322bdf..e5e54589 100644
--- a/Android/lib/arm64-v8a/libbacktrace-crashpad.so.meta
+++ b/Android/lib/arm64-v8a/libbacktrace-native.so.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: f042d68822623e74ead1ccb09ff4b56f
+guid: 860fcaea5fc9d984983dd53a92ed7a64
PluginImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Android/lib/armeabi-v7a/libbacktrace-crashpad.so b/Android/lib/armeabi-v7a/libbacktrace-crashpad.so
deleted file mode 100644
index 04837d96..00000000
Binary files a/Android/lib/armeabi-v7a/libbacktrace-crashpad.so and /dev/null differ
diff --git a/Android/lib/armeabi-v7a/libbacktrace-native.so b/Android/lib/armeabi-v7a/libbacktrace-native.so
new file mode 100644
index 00000000..089c9263
Binary files /dev/null and b/Android/lib/armeabi-v7a/libbacktrace-native.so differ
diff --git a/Android/lib/armeabi-v7a/libbacktrace-crashpad.so.meta b/Android/lib/armeabi-v7a/libbacktrace-native.so.meta
similarity index 94%
rename from Android/lib/armeabi-v7a/libbacktrace-crashpad.so.meta
rename to Android/lib/armeabi-v7a/libbacktrace-native.so.meta
index bb3b2463..9b7c94d2 100644
--- a/Android/lib/armeabi-v7a/libbacktrace-crashpad.so.meta
+++ b/Android/lib/armeabi-v7a/libbacktrace-native.so.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 52e73e8ed1538cd42a49a66d2cf5b263
+guid: 7a159ccd07ca0dc4a8df92d804d3b66b
PluginImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Android/lib/x86/libbacktrace-crashpad.so b/Android/lib/x86/libbacktrace-crashpad.so
deleted file mode 100644
index 91a73729..00000000
Binary files a/Android/lib/x86/libbacktrace-crashpad.so and /dev/null differ
diff --git a/Android/lib/x86/libbacktrace-native.so b/Android/lib/x86/libbacktrace-native.so
new file mode 100644
index 00000000..beffaba6
Binary files /dev/null and b/Android/lib/x86/libbacktrace-native.so differ
diff --git a/Android/lib/x86/libbacktrace-crashpad.so.meta b/Android/lib/x86/libbacktrace-native.so.meta
similarity index 88%
rename from Android/lib/x86/libbacktrace-crashpad.so.meta
rename to Android/lib/x86/libbacktrace-native.so.meta
index c1eb6152..eab88ca0 100644
--- a/Android/lib/x86/libbacktrace-crashpad.so.meta
+++ b/Android/lib/x86/libbacktrace-native.so.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 76ee1214244add04a948a4befc10a395
+guid: dd12b4b499a776b489a93e481b4b9e66
PluginImporter:
externalObjects: {}
serializedVersion: 2
@@ -25,4 +25,4 @@ PluginImporter:
CPU: x86
userData:
assetBundleName:
- assetBundleVariant:
\ No newline at end of file
+ assetBundleVariant:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5aedbdcc..8e90a30a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
# Backtrace Unity Release Notes
+## Version 3.2.0
+- Updated Android NDK libraries used by Unity plugin.
+
## Version 3.1.2
- `BacktraceData` allows to edit list of environment variables collected by `BacktraceAnnotations`
- `SourceCode` object description for PII purpose
diff --git a/Runtime/Native/Android/NativeClient.cs b/Runtime/Native/Android/NativeClient.cs
index 9618754e..0e84d4d5 100644
--- a/Runtime/Native/Android/NativeClient.cs
+++ b/Runtime/Native/Android/NativeClient.cs
@@ -14,11 +14,11 @@ namespace Backtrace.Unity.Runtime.Native.Android
///
internal class NativeClient : INativeClient
{
- [DllImport("backtrace-crashpad")]
- private static extern bool InitializeCrashpad(IntPtr submissionUrl, IntPtr databasePath, IntPtr handlerPath, IntPtr keys, IntPtr values);
+ [DllImport("backtrace-native")]
+ private static extern bool Initialize(IntPtr submissionUrl, IntPtr databasePath, IntPtr handlerPath, IntPtr keys, IntPtr values);
- [DllImport("backtrace-crashpad")]
- private static extern bool AddCrashpadAttribute(IntPtr key, IntPtr value);
+ [DllImport("backtrace-native")]
+ private static extern bool AddAttribute(IntPtr key, IntPtr value);
private readonly BacktraceConfiguration _configuration;
// Android native interface paths
@@ -29,7 +29,12 @@ internal class NativeClient : INativeClient
///
/// Determine if android integration should be enabled
///
- private bool _enabled = Application.platform == RuntimePlatform.Android;
+ private bool _enabled =
+#if UNITY_ANDROID && !UNITY_EDITOR
+ true;
+#else
+ false;
+#endif
///
/// Anr watcher object
@@ -37,7 +42,7 @@ internal class NativeClient : INativeClient
private AndroidJavaObject _anrWatcher;
private bool _captureNativeCrashes = false;
- private bool _handlerANR = false;
+ private readonly bool _handlerANR = false;
public NativeClient(string gameObjectName, BacktraceConfiguration configuration)
{
_configuration = configuration;
@@ -48,10 +53,9 @@ public NativeClient(string gameObjectName, BacktraceConfiguration configuration)
#if UNITY_ANDROID
_captureNativeCrashes = _configuration.CaptureNativeCrashes;
_handlerANR = _configuration.HandleANR;
-#endif
HandleAnr(gameObjectName, "OnAnrDetected");
HandleNativeCrashes();
-
+#endif
}
///
@@ -87,12 +91,15 @@ private void HandleNativeCrashes()
}
// get default built-in Backtrace-Unity attributes
var backtraceAttributes = new BacktraceAttributes(null, null, true);
+ // add exception type to crashes handled by crashpad - all exception handled by crashpad
+ // will be game crashes
+ backtraceAttributes.Attributes["exception.type"] = "Crash";
var minidumpUrl = new BacktraceCredentials(_configuration.GetValidServerUrl()).GetMinidumpSubmissionUrl().ToString();
// reassign to captureNativeCrashes
// to avoid doing anything on crashpad binary, when crashpad
// isn't available
- _captureNativeCrashes = InitializeCrashpad(
+ _captureNativeCrashes = Initialize(
AndroidJNI.NewStringUTF(minidumpUrl),
AndroidJNI.NewStringUTF(_configuration.CrashpadDatabasePath),
AndroidJNI.NewStringUTF(crashpadHandlerPath),
@@ -179,7 +186,7 @@ public void SetAttribute(string key, string value)
value = string.Empty;
}
- AddCrashpadAttribute(
+ AddAttribute(
AndroidJNI.NewStringUTF(key),
AndroidJNI.NewStringUTF(value));
}
diff --git a/Runtime/Services/BacktraceApi.cs b/Runtime/Services/BacktraceApi.cs
index c2863488..764cd58d 100644
--- a/Runtime/Services/BacktraceApi.cs
+++ b/Runtime/Services/BacktraceApi.cs
@@ -110,7 +110,7 @@ public IEnumerator SendMinidump(string minidumpPath, IEnumerable attachm
foreach (var file in attachments)
{
- if (File.Exists(file) && new FileInfo(file).Length > 10000000)
+ if (File.Exists(file) && new FileInfo(file).Length < 10000000)
{
formData.Add(new MultipartFormFileSection(
string.Format("attachment__{0}", Path.GetFileName(file)),