Przejdź do treści głównej

Jak budować ze źródeł

Nieoficjalne Tłumaczenie Beta

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:

diff
  // ...
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:

groovy
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.