[Android] react-android's prefab has no react/renderer/components/scrollview headers, so a library cannot include ScrollView's component descriptor
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- android
- Lĩnh vực
- build-system, mobile
Hướng nghiên cứu
Đọc packages/react-native/ReactAndroid/build.gradle.kts, đặc biệt là danh sách thư mục thành phần của preparePrefab quanh các dòng 219–227, rồi so sánh với các header thành phần được xuất. Issue báo cáo rằng thiếu rrc_scrollview trong khi các symbol ScrollView có trong libreactnative.so. Thêm các mục xuất header scrollview còn thiếu và xác minh rằng prefab bao gồm các header, đồng thời bản dựng native của reproducer phân giải được ScrollViewComponentDescriptor.h.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
The reactnative prefab module in the react-android AAR carries the headers of react/renderer/components/view, image, root, text and textinput, but none of react/renderer/components/scrollview. libreactnative.so defines ScrollView's shadow node and state (ScrollViewShadowNode::layout, ScrollViewShadowNode::updateStateIfNeeded, ScrollViewState::getContentSize, ScrollViewComponentName), so a library or app that builds against the prebuilt AAR can link them but cannot include ScrollViewShadowNode.h, ScrollViewComponentDescriptor.h or ScrollViewState.h; for example, to register a component descriptor that extends ScrollView's.
preparePrefab in packages/react-native/ReactAndroid/build.gradle.kts lists a Pair for each exported component folder (// rrc_textinput and its platform/android/ folder among them) and has none for rrc_scrollview: https://github.com/react/react-native/blob/1273ca128fa378e231dd351a65fb7d63fe0b6526/packages/react-native/ReactAndroid/build.gradle.kts#L219-L227
Steps to reproduce
git clone https://github.com/YevheniiKotyrlo/rn-prefab-scrollview-headers-repro && cd rn-prefab-scrollview-headers-repro./reproduce.sh. It installs ReproducerApp (React Native0.90.0-nightly-20261111-1273ca128) and runs./gradlew :app:externalNativeBuildDebug -PreactNativeArchitectures=arm64-v8a. The app'ssrc/main/jni/CMakeLists.txtis the default app setup plus one file,scrollview/ScrollViewDescriptorProvider.cpp:
#include <react/renderer/components/view/ViewComponentDescriptor.h>
#include <react/renderer/components/scrollview/ScrollViewComponentDescriptor.h>
namespace facebook::react {
ComponentDescriptorProvider scrollViewComponentDescriptorProvider() {
return concreteComponentDescriptorProvider<ScrollViewComponentDescriptor>();
}
} // namespace facebook::react
Expected: the scrollview include resolves from the prefab, as the view include on the line before it does.
Seen: the build stops at the scrollview include, and the prefab's react/renderer/components holds no scrollview folder. The release AAR from the same nightly has none either, while its jni/arm64-v8a/libreactnative.so defines the ScrollView symbols above.
React Native Version
0.90.0-nightly-20261111-1273ca128
Affected Platforms
Runtime - Android, Build - Windows
Output of npx @react-native-community/cli info
System:
OS: Windows 11 10.0.26300
CPU: "(32) x64 AMD Ryzen 9 9950X3D 16-Core Processor "
Memory: 181.10 GB / 255.67 GB
Binaries:
Node:
version: 26.12.1
path: C:\Program Files\nodejs\node.EXE
Yarn:
version: 1.22.22
path: C:\Users\<user>\AppData\Roaming\npm\yarn.CMD
npm:
version: 12.2.1
path: C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK:
AllowDevelopmentWithoutDevLicense: Enabled
Versions:
- 10.0.19041.0
- 10.0.26100.0
IDEs:
Android Studio: AI-262.9437.185.2621.16467767
Visual Studio: Not Found
Languages:
Java:
version: 17.0.20.1
path: C:\Program Files\Microsoft\jdk-17.0.20.101-hotspot\bin\javac.EXE
Ruby: Not Found
npmPackages:
"@react-native-community/cli":
installed: 21.0.0-alpha.1
wanted: 21.0.0-alpha.1
react:
installed: 19.3.0
wanted: 19.3.0
react-native:
installed: 0.90.0-nightly-20261111-1273ca128
wanted: 0.90.0-nightly-20261111-1273ca128
react-native-windows: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Stacktrace or Logs
MINGW64_NT-10.0-26300 x86_64, node v26.12.1, openjdk version "17.0.20.1" 2026-08-18 LTS
react-native 0.90.0-nightly-20261111-1273ca128
== ./gradlew :app:externalNativeBuildDebug -PreactNativeArchitectures=arm64-v8a
C/C++: ReproducerApp/android/app/src/main/jni/scrollview/ScrollViewDescriptorProvider.cpp:4:10: fatal error: 'react/renderer/components/scrollview/ScrollViewComponentDescriptor.h' file not found
BUILD FAILED in 35s
== react/renderer/components in react-android-0.90.0-nightly-20261111-1273ca128-SNAPSHOT-debug/prefab/modules/reactnative/include
androidtextinput
FBReactNativeSpec
image
root
text
textinput
view
SUMMARY: the react-android prefab has no react/renderer/components/scrollview headers
MANDATORY Reproducer
https://github.com/YevheniiKotyrlo/rn-prefab-scrollview-headers-repro
Screenshots and Videos
No response
- Ngôn ngữ chính
- C++
- Star
- 127k
- Fork
- 25.5k
- Merge trung bình
- 3 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 188
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của react/react-native
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
react/react-native#59945 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
react/react-native#59944 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
react/react-native#59942 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
react/react-native#59939 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
iOS Fabric pointer-handler reset leaves the next lone touch non-primaryCó thể đã có người làm @alleneubank đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
react/react-native#59919 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của react/react-native
Issue tương tự
-
type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
tensorflow/tflite-micro#3995 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
not for AI lovers
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
OSGeo/gdal#15515 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
VT: Backend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
contour-terminal/contour#2314 ·
Maintainer thường phản hồi trong vòng 1 ngày