Jak budować ze źródeł
Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →
Będziesz musiał zbudować React Native ze źródeł, jeśli chcesz pracować nad nową funkcją lub poprawką błędu, testować najnowsze funkcje, które nie zostały jeszcze wydane, lub utrzymywać własnego forka z łatami, których nie można scalić z głównym repozytorium.
Android
Wymagania wstępne
Aby budować ze źródeł, musisz mieć zainstalowany Android SDK. Jeśli postępowałeś zgodnie z przewodnikiem Konfigurowanie środowiska deweloperskiego, powinieneś być już gotowy.
Nie ma potrzeby instalowania innych narzędzi, takich jak określone wersje NDK czy CMake, ponieważ Android SDK automatycznie pobierze wszystko, co jest potrzebne do budowania ze źródeł.
Wskazanie projektu na wersję nightly
Aby korzystać z najnowszych poprawek i funkcji React Native, możesz zaktualizować swój projekt do wersji nightly za pomocą:
yarn add react-native@nightly
Spowoduje to zaktualizowanie projektu do wersji nightly React Native, która jest wydawana każdej nocy z najnowszymi zmianami.
Aktualizacja projektu do budowania ze źródeł
Zarówno w przypadku stabilnych wydań, jak i wersji nightly, korzystasz z wstępnie skompilowanych artefaktów. Jeśli natomiast chcesz przełączyć się na budowanie ze źródeł, aby bezpośrednio testować swoje zmiany w frameworku, będziesz musiał edytować plik android/settings.gradle w następujący sposób:
// ...
include ':app'
includeBuild('../node_modules/@react-native/gradle-plugin')
+ includeBuild('../node_modules/react-native') {
+ dependencySubstitution {
+ substitute(module("com.facebook.react:react-android")).using(project(":packages:react-native:ReactAndroid"))
+ substitute(module("com.facebook.react:react-native")).using(project(":packages:react-native:ReactAndroid"))
+ substitute(module("com.facebook.react:hermes-android")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
+ substitute(module("com.facebook.react:hermes-engine")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
+ }
+ }
Dodatkowe uwagi
Budowanie ze źródeł może zająć dużo czasu, szczególnie przy pierwszym budowaniu, ponieważ musi pobrać około 200 MB artefaktów i skompilować natywny kod.
Za każdym razem, gdy aktualizujesz wersję react-native ze swojego repozytorium, katalog build może zostać usunięty, a wszystkie pliki są pobierane ponownie.
Aby tego uniknąć, możesz zmienić ścieżkę katalogu build, edytując plik ~/.gradle/init.gradle:
gradle.projectsLoaded {
rootProject.allprojects {
buildDir = "/path/to/build/directory/${rootProject.name}/${project.name}"
}
}
Uzasadnienie
Zalecanym podejściem do pracy z React Native jest zawsze aktualizowanie do najnowszej wersji. Wsparcie dla starszych wersji jest opisane w naszej polityce wsparcia.
Podejście budowania ze źródeł powinno służyć do kompleksowego testowania poprawek przed przesłaniem pull requesta do React Native i nie zachęcamy do jego długotrwałego stosowania. Szczególnie forkowanie React Native lub przełączanie konfiguracji na stałe budowanie ze źródeł spowoduje, że projekty będą trudniejsze do aktualizacji i ogólnie zapewnią gorsze doświadczenie deweloperskie.