-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[revamp] Android NDK API 21 issue #455
Comments
The same problem was observed in the issue/PR for p4a master, with the solution being to switch the architecture target from armeabi to armeabi-v7 for these APIs. I guess we just have to do the same, but the Architecture stuff in the revamp isn't fully finished and it will be necessary to go through and make all the references correct. This would also be a step toward multi-architecture APKs. |
Aha, I'd forgotten that I'd seen this in #410. Thanks for reminding me. |
With the new arch support, this should now be easy to do. |
It would appear that at least as of Kitkat 4.4 (API 19), ARM devices are required to be at least ARMv7a:
It's not altogether surprising that the API to follow 19 (Lollipop API 21) would drop support for ARMv5 completely. From what I've read, official builds of 4.4+ are always ARMv7a, but there are some custom builds for certain devices which run ARMv6. So the fix is to target a lower API or target the armeabi-v7a architecture. Switching to v7a fixed this problem for me. |
Reopening, because I realize we can actually do something here. Maybe make p4a automatically select armeabi-v7a if API >= 21 and |
I added a check in a recent PR that causes an error and build failure if the api is too high (so that the user knows what's wrong and can pick a fix). |
Just when you thought I was done opening issues 😜
platforms/android-21/arch-arm/usr/include/machine/cpu-features.h
:Compare to
platforms/android-19/arch-arm/usr/include/machine/cpu-features.h
, which doesn't fail:I can't find any references that justify these changes in the NDK, but they only seem to be in API 21.
r10d
andr10e
both have the same issue.The text was updated successfully, but these errors were encountered: