android / android/ndk

[BUG?]: symbol visibility for different api levels.

Open
#2,132 6 comments 1 reaction 0 assignees Claimed by @Sharjeel-Khan View on GitHub
bug
Dominant language
No language data
Stars
2.3k
Forks
310
PR merge metrics
No merged PRs in 30d

Description

### Description

`AConfiguration_setScreenRound` does not appear in `nm -D toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libandroid.so` but not marked with `__INTRODUCED_IN`.

`ANativeWindow_getBuffersDataSpace`, `ANativeWindow_setBuffersDataSpace` and `ANativeWindow_setBuffersTransform` have opposite problem. They appear with `__INTRODUCED_IN(28)` in header but do not appear in `nm -D .../28/libandroid.so`.

Not sure if it is a bug or a documentation problem but probably it should be fixed.

### I am using a supported NDK

- [x] I have checked and the NDK I'm using is currently supported

### Affected versions

r27

Contributor guide

Open the contributing guide

Research direction

Start by comparing the __INTRODUCED_IN annotations for the four named symbols with their exports in toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libandroid.so using nm -D. Determine whether the API 28 headers and library exports should agree, then verify that the selected resolution covers all four discrepancies.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.