Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUESTION] Breakpad support / usage #330

Closed
liszto opened this issue Sep 27, 2019 · 6 comments
Closed

[QUESTION] Breakpad support / usage #330

liszto opened this issue Sep 27, 2019 · 6 comments
Labels

Comments

@liszto
Copy link

liszto commented Sep 27, 2019

Hello,

Did someone in your team succeed to use breakpad for Android build ?
For me it's something that could definietly be useful for Android build witgh IL2CPP (which is our case) I didn't dig a lot on this point (I have to take time for this).
I saw a BreakpadSupport folder in your puppet project that's why I asked for this :)

Thanks.

@annakocheshkova
Copy link

Hi there @liszto! Yes, I did this integration some time ago with one of my teammates. Is there any part I can assist with?

@liszto
Copy link
Author

liszto commented Sep 27, 2019

Yup is complicated to use with the Unity/Android stuff or is it quite straight forward ?

I think you don't have a quick example to make it work ? I have your puppet project so if it's working with this project and you just give me an hint to make a sample test, I can then copy it in our live project :D

If you have something, I could maybe try to integrate it in our CI for Android and in this way have nice log on Android build on AppCenter 💯

@annakocheshkova
Copy link

annakocheshkova commented Sep 27, 2019

Well if you're using Puppet, you can follow these steps:

  • Open BreakpadSupport Android project and build.
    It's targeted for DemoApp so you'd have to change this path to point to Puppet.
    After build, it fails with complaints about the path, it's ok as long as the binary is present:
  • After build, you will see libPuppetBreakpad.so under Assets/Plugins/Android
  • In the built app, trigger a NullPointerException

Some more details:

  • The crash definition is here
  • Callback setup is here
  • We use breakpad as a submodule in our repo and make a "wrapper" around it with functions for callback and for crashing the app (here).

In general, it's not so complicated to setup if you're familiar with NDK: it's just about building the right binaries. You can make two binaries (one with breakpad, one with setting up a listener), or just make it one big library as we did.

@liszto
Copy link
Author

liszto commented Sep 27, 2019

I will take a look on monday morning I think (if I can get free time for this).
Thanks for your answer and the quick start explanation :)

@tallior
Copy link

tallior commented Sep 28, 2019

@liszto can you elaborate on what is Breakpad and how are u using it? (with AppCenter)

@liszto
Copy link
Author

liszto commented Sep 30, 2019

Breakpad is an Android library to symbolicate your Android app build in IL2CPP to something that a human can read when you have some bugs report. This allow you to find the line of the crash / error / issue.
Currently I'm not using it cause I'm not fluent with it but in near future I will.

There is small tutorial here : https://support.hockeyapp.net/kb/client-integration-android/hockeyapp-for-android-ndk-early-access

When you are in your CI pipeline you can use the
appcenter crashes upload-symbols PATH_TO_YOUR_BREAKPAD_ZIPPED_FILE

or use :

the POST method from their swagger here :https://openapi.appcenter.ms/#/crash/symbolUploads_create

Currently I will use method from openapi cause the CLI version from appcenter doesn't support all feature present in swagger.

If you have any question feel free to ask @tallior and btw I'm on Unity forum too with another nickname but I'm the one who sent you an example of our intern CI pipeline ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants