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

React Native apps fail to build since NDK update to r17 (due to removed support for ARMv5/armeabi) #19321

Closed
sunweiyang opened this issue May 17, 2018 · 10 comments
Labels
Platform: Android Android applications. Resolution: Locked This issue was locked by the bot. Type: Discussion Long running discussion.

Comments

@sunweiyang
Copy link
Contributor

sunweiyang commented May 17, 2018

According to release notes for NDK r17, which was released a couple days ago (https://developer.android.com/ndk/downloads/revision_history):

Support for ARMv5 (armeabi), MIPS, and MIPS64 has been removed. Attempting to build any of these ABIs will result in an error.

It seems like React Native still references armeabi-v7a across its codebase.

In the meantime, I had to use a workaround (explained in original issue at android/ndk#700) to get my React Native projects built for Android. (A true solution would remove all references to armeabi-v7a from the codebase, but this is something quick-and-dirty for the lazy or time-constrained.)

EDIT: For everyone's convenience, the workaround (macOS) is to replace the bare NDK r17 ~/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/ and ~/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/ directories with those of the old NDK r16.

@sunweiyang sunweiyang changed the title React Native apps fail to build since NDK update to r17 (due to removed support for ARMv5/armeabi, MIPS, and MIPS64) React Native apps fail to build since NDK update to r17 (due to removed support for ARMv5/armeabi) May 17, 2018
@react-native-bot
Copy link
Collaborator

Thanks for posting this! It looks like your issue may be incomplete. Are all the fields required by the Issue Template filled out?

If you believe your issue contains all the relevant information, let us know in order to have a maintainer remove the ":clipboard:No Template" label.

@sunweiyang
Copy link
Contributor Author

I believe the issue template isn't quite relevant to this issue, which discusses Android NDK's relationship to the RN codebase as a whole. Maintainers, please let me know if this is not the case, and I'll gladly provide any other information you wish.

@hramos
Copy link
Contributor

hramos commented May 18, 2018

I agree, it's OK to ignore the template in this particular case. The bot shouldn't nag again now that the For Discussion label has been applied.

@hramos hramos added Type: Discussion Long running discussion. and removed 📋No Template labels May 18, 2018
@steverob
Copy link

Any updates on this?

@krystiansliwa
Copy link

Any workaround for that?

@kelset
Copy link
Contributor

kelset commented May 21, 2018

Please don't pollute this issue with "me too/any updates".

Until better solution:

  1. Don't update the NDK unless strictly necessary
  2. follow the workaround OP linked

@sunweiyang
Copy link
Contributor Author

For everyone's convenience, the workaround (macOS) is to replace the bare NDK r17 ~/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/ and ~/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/ directories with those of the old NDK r16.

@LegNeato
Copy link

This is likely relevant here: facebook/buck#1894

@gengjiawen
Copy link
Contributor

gengjiawen commented Jul 3, 2018

Is there some misunderstanding here ? React native support armeabi-v7a, it's not armeabi. But those two compatible, I don't see ndk r17 is problem here.

fungilation referenced this issue Jul 7, 2018
Summary:
This PR will bump NDK APP_PLATFORM to android-16. Below is the excerpt from NDK documentation

> This variable contains the minimum Android platform version you want to support. For example, a value of android-15 specifies that your library uses APIs that are not available below Android 4.0.3 (API level 15) and can't be used on devices running a lower platform version. For a complete list of platform names and corresponding Android system images, see Android NDK Native APIs.
Closes #19830

Differential Revision: D8620017

Pulled By: hramos

fbshipit-source-id: 0b5578f130938e3ddae03fb855784193183243cf
fungilation referenced this issue Jul 7, 2018
…19697)

Summary:
bump [email protected], [email protected], [email protected], as we landed build tools 26.0.2 with 065c5b6

Will improve Android build performance.

Everything will work as normal, but build faster.

<!--
  Required.
  Help reviewers and the release process by writing your own release notes. See below for an example.
-->

[ANDROID] [ENHANCEMENT] [TOOLS] - bump [email protected], [email protected], [email protected]
Closes #19697

Differential Revision: D8433743

Pulled By: hramos

fbshipit-source-id: da72aeb314bed7f63807a0c69bebd24c633cc807
@dulmandakh
Copy link
Contributor

Closing this issue because RN landed Android NDK r17b and builds just fine (#20357). And will be released in 0.57.

@hramos hramos added this to the 0.58 RC milestone Sep 25, 2018
@facebook facebook locked as resolved and limited conversation to collaborators Aug 24, 2019
@react-native-bot react-native-bot added the Resolution: Locked This issue was locked by the bot. label Aug 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Platform: Android Android applications. Resolution: Locked This issue was locked by the bot. Type: Discussion Long running discussion.
Projects
None yet
Development

No branches or pull requests

9 participants