-
Notifications
You must be signed in to change notification settings - Fork 24.4k
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
Build 64bit binaries for Android #19536
Build 64bit binaries for Android #19536
Conversation
The same flag is later overwritten on the following line. It is later appended to LOCAL_CFLAGS
# Conflicts: # ContainerShip/Dockerfile.android-base
Sweet. Let's make sure |
* master: Bump [email protected] Remove duplicated attachWebsocketServer module Switch to ES6 Class Slider to ES6 Class Slider move prop comments to flow types Slider remove $FlowFixMe #take2 Revert D8234803: [RN] Slider remove $FlowFixMe normalizeColor to compute regexps lazily Implement release of FabricUIManager resources Add backward compatible support for onLayout event in Fabric refactor JSI module initialization Slider remove $FlowFixMe better place for dismiss all button Low the priority for logging events in fabric react-native-xcode.sh: Support Homebrew-installed nodenv make logMarker visible for consistency with logTaggedMarker
@hramos in your other comment in #2814 (comment) you said you prefer to stick with existing JSC that FB uses. So are you ok with this PR integrating with the new JSC from SoftwareMansion? Aren't those conflicting statements, or did something happen to convince FB that new JSC is finally usable/stable? |
* master: skip dismiss all if all rows are hidden (facebook#19564) Trigger nested VirtualizedLists to re-measure if their containing cell's onLayout fires
@marafat Very nice! |
* master: Fix NullPointerException when emiting event using UIManagerModule Fixed concurrency issue in remote debugger Fix ReactImagePropertyTest SoLoader failures (facebook#19607) Remove unused include. (facebook#19548) Update Danger token (facebook#19606) Modified deepFreezeAndThrowOnMutationInDev to use Object.prototype.ha… (facebook#19598) Change error message on interpolation (facebook#19571) Bump Prettier to 1.13.4 on xplat Fix/security issues (facebook#19373) Add open source Flow declaration for Metro module Use correct library reference for libfishhook.a in RCTWebSocket (facebook#19579) Enable proguard for Fabric in release builds Fix events not working after closing and navigating back to Fabric screen in FB4A
@hramos looking at the logs of Also, not sure how to fix Thanks! |
Thanks @hey99xx for the detailed help. I will incorporate asap... Quoting the message from the commit that changed jscBaseUrl from svn to github:
Although I find the svn link easier to update in the future, I will respect the internal strategy and use the github mirror link. |
Thanks for working on this @marafat – we've been waiting for updated JSC on Android for way too long. As @kelset mentioned in #19737 we discussed that in some other thread and I suggested we split this into a few intermediate steps. Splitting this work will make it easier to merge as there are going to be a fewer moving parts. Also if it turns out we need to back out some of the parts we can still benefit from others that are ok. My suggestion was to proceed as follows:
|
I think stay in one pr is okay, since the main motivation update current toolchain is getting arm64 support. |
@@ -33,7 +33,7 @@ function getAndroidNDK { | |||
if [ ! -e $DEPS ]; then | |||
cd $NDK_HOME | |||
echo "Downloading NDK..." | |||
curl -o ndk.zip https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip | |||
curl -o ndk.zip https://dl.google.com/android/repository/android-ndk-r16-linux-x86_64.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove android.useDeprecatedNdk=true
in gradle.properties
This flag is not needed anymore the following reasons: 1. It is important when the gradle plugin is the one invoking the ndk command. 2. For ReactAndroid, the ndk commnad (ndk-build in this case) is invoked manually. See gradle task: buildReactNdkLib 3. If the gradle plugin is invoking the ndk command, these lines will cause the plugin to invoke the ndkCompile (the deprecated ndk) over ndk-build. This is undesired.
This comment has been minimized.
This comment has been minimized.
@marafat I tried to find reviewers for this pull request and wanted to ping them to take another look. However, based on the blame information for the files in this pull request I couldn't find any reviewers. This sometimes happens when the files in the pull request are new or don't exist on master anymore. Is this pull request still relevant? If yes could you please rebase? In case you know who has context on this code feel free to mention them in a comment (one person is fine). Thanks for reading and hope you will continue contributing to the project. |
A quick update, the teams inside FB know about the issue and are working on a solution to resolve it. |
@bestander thanks for the update. I am very curious, can you share a bit more information about this? 👍 |
Lots of conflicts here, but they're likely due to the progress that has been made to update several of these dependencies in other PRs. Like Konstantin said, we're working on making it easier to use a different JSC soon. |
Hello dear mantainers <3 |
Yes, it will happen, though I do not think it will definitely be in place for 0.58. There's some work we need to do to determine what actually needs to be done to support this, and it is being discussed at #2814. As @hey99xx and @bestander said, we need to do some work related to the JSC used in React Native on Android. |
The new JSC with 64-bit architectures is on master now. Any interest in resolving the conflicts here and moving the PR forward? |
@hramos Practically everything that this PR was doing is already done by other PRs.
Maybe give @marafat chance to look again if there's still anything needed, but I'd think this PR can be closed without being merged in favor of all the other work completed. |
Closing - Thanks @hey99xx for providing links to all the pieces. I did go over all of them, and I confirm that they all collectively achieve everything this PR is trying to. @hramos - for those getting here from google, I wonder if you can share a stable release number that will include 64bit support? |
The new JSC (the last piece of the puzzle) is scheduled for React Native 0.59. |
Motivation
Add 64bit support to Android. Fixes #2814
How is this different from the previous effort done in #17640 and #18754
APP_STL
toc++_shared
Test Plan
I found these to be beneficial against some build errors:
$ cd react-native react-native$ rm -rf ./.buckd/ react-native$ rm -rf ./buck-out/
adb install
to install thearm64-v8a
APK on a PIXEL 2XL$ cd react-native react-native$ adb install ./RNTester/android/app/build/outputs/apk/app-arm64-v8a-release.apk
Related PRs
[X]
Todo: change instructions on building from source.facebook/react-native-website#394Release Notes
[ANDROID] [ENHANCEMENT] [ReactAndroid] - add x86_64 arm64-v8a support.