backtrace-labs / crashpad

A fork of Crashpad with file attachment support and other improvements.
Apache License 2.0
99 stars 33 forks source link

Cross compile Android from Ubuntu fail. #6

Closed i3oi3oMX closed 2 years ago

i3oi3oMX commented 3 years ago

Currently, There are two fixes from https://chromium.googlesource.com/crashpad/crashpad.git repository.

https://github.com/chromium/crashpad/commit/b6f2d06996335c951bfb72f98b5b9e22dc9bc03e fix unpaired namespace which occur when cross compile with Android API level more than 23.

https://github.com/chromium/crashpad/commit/9f4741d4dec2e9ae1248a4738a64e81501307013 fix handler attachment. This fix is more tricky because it conflicts with Backtrace's change.

Addition information:

i3oi3oMX commented 3 years ago

My test device is Samsung Galaxy Note 8.

My Android Crashpad build settings are

By the way, I still get test fail on.

[----------] Global test environment tear-down
[==========] 60 tests from 13 test suites ran. (921 ms total)
[  PASSED  ] 54 tests.
[  FAILED  ] 6 tests, listed below:
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/0, where GetParam() = (false, false, false)
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/2, where GetParam() = (false, true, false)
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/3, where GetParam() = (false, true, true)
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/4, where GetParam() = (true, false, false)
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/6, where GetParam() = (true, true, false)
[  FAILED  ] StartHandlerForSelfTestSuite/StartHandlerForSelfTest.StartHandlerInChild/7, where GetParam() = (true, true, true)

Will this test make Crashpad fail to report to Backtrace.io? The fail come from read-write permission. It seem that there is more setting on Android device which doesn't specific in Document.

i3oi3oMX commented 3 years ago

Try to build from branch feature/ndk because of missing dependency. The feature/ndk still need fix from https://github.com/chromium/crashpad/commit/b6f2d06996335c951bfb72f98b5b9e22dc9bc03e.

Seem like Backtrace integrate Openssl from somewhere else and we cannot get dependency from gclient sync

The hardcode dependency is from

Did you guy build Openssl from https://github.com/leenjewel/openssl_for_ios_and_android ?

rqbacktrace commented 3 years ago

Hello @i3oi3oMX ! We are indeed using that version of Openssl you linked above. Please try using that build of Openssl from there and see if it helps you.

i3oi3oMX commented 3 years ago

Hello, Because I didn't work on Crashpad integration right now. If you fix the compile error bug with Android API Level more than 23, You can close this ticket.

Thank you.