sentry-dart icon indicating copy to clipboard operation
sentry-dart copied to clipboard

Could provide a version adapted for Android 15 with a 16KB size limit?

Open wyqlxf opened this issue 1 year ago • 2 comments

Problem Statement

https://developer.android.com/guide/practices/page-sizes?hl=zh-cn

Solution Brainstorm

No response

Are you willing to submit a PR?

None

### 🛑 Blocked by
- [ ] https://github.com/getsentry/sentry-java/issues/3657

wyqlxf avatar Aug 19 '24 09:08 wyqlxf

hi we'll have a look

buenaflor avatar Aug 20 '24 11:08 buenaflor

Currently blocked by https://github.com/getsentry/sentry-java/issues/3657

buenaflor avatar Aug 29 '24 13:08 buenaflor

there's a prerelease out on Android (7.17.0-alpha.1) for testing

kahest avatar Nov 05 '24 14:11 kahest

I checked with Android 7.17.0-alpha.1 with the scrip provided by google. It was broken but after playing around, i was able to fix it.

The page sizes are aligned for our Android dependency, but we need to check Isar and SQLite dependencies. This was the sample app. I'm not sure where libnative-sample is coming from.

Results are the same for arch arm64-v8a and armeabi-v7a.

=== ELF alignment ===
app-release/lib/arm64-v8a
libapp.so		libnative-sample.so	libsqlite3.so
libflutter.so		libsentry-android.so
libisar.so		libsentry.so
app-release/lib/arm64-v8a/libsentry.so: \e[32mALIGNED\e[0m (2**14)
app-release/lib/arm64-v8a/libflutter.so: \e[32mALIGNED\e[0m (2**16)
app-release/lib/arm64-v8a/libapp.so: \e[32mALIGNED\e[0m (2**16)
app-release/lib/arm64-v8a/libsentry-android.so: \e[32mALIGNED\e[0m (2**14)
app-release/lib/arm64-v8a/libisar.so: \e[31mUNALIGNED\e[0m (2**12)
app-release/lib/arm64-v8a/libnative-sample.so: \e[31mUNALIGNED\e[0m (2**12)
app-release/lib/arm64-v8a/libsqlite3.so: \e[31mUNALIGNED\e[0m (2**12)

denrase avatar Nov 12 '24 14:11 denrase

FYI: We shipped the 16kb support with the 7.18.0 release of the Android SDK.

markushi avatar Nov 19 '24 07:11 markushi

I updated our sample app to support 16kb pages by bumping NDK to 27 and updating the app/build.gradle as described in here . I works on a 16KB emulator device, also with our Isar and SQFlite packages. This only works where we have Sentry Android 7.18.0 SDK, so users also need to upgrade to Sentry 8.11.0-beta.1

denrase avatar Nov 25 '24 13:11 denrase

@denrase perfect, so it's a matter of documenting it and using at least 8.11.0-beta.1 👍

buenaflor avatar Nov 25 '24 13:11 buenaflor

@buenaflor We support it from 8.11.0-beta.1. Apart from that, the setup for 16 KB pages is unrelated to Sentry, so i don't think we should provide additional documentation, apart from stating that we support it. WDYT?

denrase avatar Nov 25 '24 15:11 denrase

@denrase I think we should at least say that the setup is required (and link there)

buenaflor avatar Nov 26 '24 10:11 buenaflor