diff --git a/404.html b/404.html index 9b432e6a270..ed96d0dac6f 100644 --- a/404.html +++ b/404.html @@ -17,7 +17,7 @@ - +
diff --git a/about.html b/about.html index 4dd1685a8e4..7d9e6dd15bf 100644 --- a/about.html +++ b/about.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/bundled-hermes.html b/architecture/bundled-hermes.html index baed03f89b5..05f51232af2 100644 --- a/architecture/bundled-hermes.html +++ b/architecture/bundled-hermes.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/fabric-renderer.html b/architecture/fabric-renderer.html index 551436af735..acb069fd0a5 100644 --- a/architecture/fabric-renderer.html +++ b/architecture/fabric-renderer.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/glossary.html b/architecture/glossary.html index 76445652b4d..7a5890a16f7 100644 --- a/architecture/glossary.html +++ b/architecture/glossary.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/overview.html b/architecture/overview.html index bcdca34a256..bd5efb3abc1 100644 --- a/architecture/overview.html +++ b/architecture/overview.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/render-pipeline.html b/architecture/render-pipeline.html index 62d54465066..c5b31c1545e 100644 --- a/architecture/render-pipeline.html +++ b/architecture/render-pipeline.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/threading-model.html b/architecture/threading-model.html index 9be032c606e..394b5724ed8 100644 --- a/architecture/threading-model.html +++ b/architecture/threading-model.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/view-flattening.html b/architecture/view-flattening.html index 2507c85efb4..158e102f6c0 100644 --- a/architecture/view-flattening.html +++ b/architecture/view-flattening.html @@ -17,7 +17,7 @@ - + diff --git a/architecture/xplat-implementation.html b/architecture/xplat-implementation.html index e35253ec90d..42178e3f4a3 100644 --- a/architecture/xplat-implementation.html +++ b/architecture/xplat-implementation.html @@ -17,7 +17,7 @@ - + diff --git a/assets/js/d89c5153.dc7f3540.js b/assets/js/d89c5153.e2a9238c.js similarity index 71% rename from assets/js/d89c5153.dc7f3540.js rename to assets/js/d89c5153.e2a9238c.js index d3bc09c7006..f299231f1e0 100644 --- a/assets/js/d89c5153.dc7f3540.js +++ b/assets/js/d89c5153.e2a9238c.js @@ -1,2 +1,2 @@ -/*! For license information please see d89c5153.dc7f3540.js.LICENSE.txt */ -"use strict";(self.webpackChunkreact_native_website=self.webpackChunkreact_native_website||[]).push([[32322],{12764:(e,n,r)=>{r.d(n,{ZP:()=>l,d$:()=>s});var i=r(24246),d=r(71670);const s=[];function c(e){const n={blockquote:"blockquote",code:"code",p:"p",pre:"pre",...(0,d.a)(),...e.components};return(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u4e4b\u524d\u5168\u5c40\u5b89\u88c5\u8fc7\u65e7\u7684",(0,i.jsx)(n.code,{children:"react-native-cli"}),"\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8bf7\u4f7f\u7528",(0,i.jsx)(n.code,{children:"npm uninstall -g react-native-cli"}),"\u5378\u8f7d\u6389\u5b83\u4ee5\u907f\u514d\u4e00\u4e9b\u51b2\u7a81\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npm uninstall -g react-native-cli @react-native-community/cli\n"})}),"\n"]})}function l(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},21355:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>N,contentTitle:()=>w,default:()=>D,frontMatter:()=>f,metadata:()=>S,toc:()=>y});var i=r(24246),d=r(71670),s=r(48375),c=r(86386),l=r(11674),o=r(12764);const a=[{value:"\u5b89\u88c5\u4f9d\u8d56",id:"\u5b89\u88c5\u4f9d\u8d56",level:2},{value:"Node",id:"node",level:3},{value:"Yarn",id:"yarn",level:3},{value:"Watchman",id:"watchman",level:3},{value:"Java Development Kit",id:"java-development-kit",level:3},{value:"Android \u5f00\u53d1\u73af\u5883",id:"android-\u5f00\u53d1\u73af\u5883",level:3},{value:"\u521b\u5efa\u65b0\u9879\u76ee",id:"\u521b\u5efa\u65b0\u9879\u76ee",level:2},...o.d$,{value:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",level:3},{value:"\u51c6\u5907 Android \u8bbe\u5907",id:"\u51c6\u5907-android-\u8bbe\u5907",level:2},{value:"\u4f7f\u7528 Android \u771f\u673a",id:"\u4f7f\u7528-android-\u771f\u673a",level:3},{value:"\u4f7f\u7528 Android \u6a21\u62df\u5668",id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",level:3},{value:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528",id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",level:2},{value:"\u4fee\u6539\u9879\u76ee",id:"\u4fee\u6539\u9879\u76ee",level:3},{value:"\u5b8c\u6210\u4e86\uff01",id:"\u5b8c\u6210\u4e86",level:3},{value:"\u63a5\u4e0b\u6765\uff1f",id:"\u63a5\u4e0b\u6765",level:2}];function t(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"\u5b89\u88c5\u4f9d\u8d56",children:"\u5b89\u88c5\u4f9d\u8d56"}),"\n",(0,i.jsx)(n.p,{children:"\u5fc5\u987b\u5b89\u88c5\u7684\u4f9d\u8d56\u6709\uff1aNode\u3001JDK \u548c Android Studio\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u867d\u7136\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u4efb\u4f55\u7f16\u8f91\u5668"}),"\u6765\u5f00\u53d1\u5e94\u7528\uff08\u7f16\u5199 js \u4ee3\u7801\uff09\uff0c\u4f46\u4f60\u4ecd\u7136\u5fc5\u987b\u5b89\u88c5 Android Studio \u6765\u83b7\u5f97\u7f16\u8bd1 Android \u5e94\u7528\u6240\u9700\u7684\u5de5\u5177\u548c\u73af\u5883\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"node",children:"Node"}),"\n",(0,i.jsxs)(n.p,{children:["\u53c2\u7167 Node \u5b98\u65b9\u7684",(0,i.jsx)(n.a,{href:"https://nodejs.org/en/download/package-manager/",children:"Linux \u5b89\u88c5\u6307\u5357"}),"\u6765\u5b89\u88c5 Node 18 \u4ee5\u4e0a\u7684\u7248\u672c\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u5f3a\u70c8\u5efa\u8bae\u59cb\u7ec8\u9009\u62e9 Node \u5f53\u524d\u7684 LTS \uff08\u957f\u671f\u7ef4\u62a4\uff09\u7248\u672c\uff0c\u4e00\u822c\u662f\u5076\u6570\u7248\u672c\uff0c\u4e0d\u8981\u9009\u62e9\u504f\u5b9e\u9a8c\u6027\u8d28\u7684\u5947\u6570\u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u5b89\u88c5\u5b8c Node \u540e\u5efa\u8bae\u8bbe\u7f6e npm \u955c\u50cf\uff08\u6dd8\u5b9d\u6e90\uff09\u4ee5\u52a0\u901f\u540e\u9762\u7684\u8fc7\u7a0b\uff08\u6216\u4f7f\u7528\u79d1\u5b66\u4e0a\u7f51\u5de5\u5177\uff09\u3002"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u4e0d\u8981\u4f7f\u7528 cnpm\uff01cnpm \u5b89\u88c5\u7684\u6a21\u5757\u8def\u5f84\u6bd4\u8f83\u5947\u602a\uff0creact native \u4e0d\u80fd\u6b63\u5e38\u8bc6\u522b\uff01"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"# \u4f7f\u7528nrm\u5de5\u5177\u5207\u6362\u6dd8\u5b9d\u6e90\nnpx nrm use taobao\n\n# \u5982\u679c\u4e4b\u540e\u9700\u8981\u5207\u6362\u56de\u5b98\u65b9\u6e90\u53ef\u4f7f\u7528\nnpx nrm use npm\n"})}),"\n",(0,i.jsx)(n.h3,{id:"yarn",children:"Yarn"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"http://yarnpkg.com",children:"Yarn"}),"\u662f Facebook \u63d0\u4f9b\u7684\u66ff\u4ee3 npm \u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u52a0\u901f node \u6a21\u5757\u7684\u4e0b\u8f7d\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm install -g yarn\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5\u5b8c yarn \u4e4b\u540e\u5c31\u53ef\u4ee5\u7528 yarn \u4ee3\u66ff npm \u4e86\uff0c\u4f8b\u5982\u7528",(0,i.jsx)(n.code,{children:"yarn"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install"}),"\u547d\u4ee4\uff0c\u7528",(0,i.jsx)(n.code,{children:"yarn add \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"watchman",children:"Watchman"}),"\n",(0,i.jsxs)(n.p,{children:["\u53c2\u7167",(0,i.jsx)(n.a,{href:"https://facebook.github.io/watchman/docs/install.html#buildinstall",children:"Watchman \u7684\u5b89\u88c5\u8bf4\u660e"}),"\u6765\u4ece\u6e90\u7801\u6765\u7f16\u8bd1\u548c\u5b89\u88c5 Watchman\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://facebook.github.io/watchman/docs/install.html",children:"Watchman"}),"\u662f\u7531 Facebook \u63d0\u4f9b\u7684\u76d1\u89c6\u6587\u4ef6\u7cfb\u7edf\u53d8\u66f4\u7684\u5de5\u5177\u3002\u5b89\u88c5\u6b64\u5de5\u5177\u53ef\u4ee5\u63d0\u9ad8\u5f00\u53d1\u65f6\u7684\u6027\u80fd\uff08metro \u53ef\u4ee5\u5feb\u901f\u6355\u6349\u6587\u4ef6\u7684\u53d8\u5316\u4ece\u800c\u5b9e\u73b0\u5b9e\u65f6\u5237\u65b0\uff09\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"java-development-kit",children:"Java Development Kit"}),"\n",(0,i.jsxs)(n.p,{children:["React Native \u5f53\u524d\u9700\u8981 Java Development Kit [JDK] 17\u3002\u4f60\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u8f93\u5165\n",(0,i.jsx)(n.code,{children:"javac -version"}),"\uff08\u8bf7\u6ce8\u610f\u662f javac\uff0c\u4e0d\u662f java\uff09\u6765\u67e5\u770b\u4f60\u5f53\u524d\u5b89\u88c5\u7684 JDK \u7248\u672c\u3002\u5982\u679c\u7248\u672c\u4e0d\u5408\u8981\u6c42\uff0c\u5219\u53ef\u4ee5\u53bb",(0,i.jsx)(n.a,{href:"https://adoptium.net/?variant=openjdk17&jvmVariant=hotspot",children:"Temurin"}),"\u6216",(0,i.jsx)(n.a,{href:"https://www.oracle.com/java/technologies/downloads/#java17",children:"Oracle JDK"}),"\u4e0a\u4e0b\u8f7d(\u540e\u8005\u4e0b\u8f7d\u9700\u6ce8\u518c\u767b\u5f55)\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u4f4e\u4e8e 0.73 \u7248\u672c\u7684 React Native \u9700\u8981 JDK 11 \u7248\u672c\uff0c\u800c\u4f4e\u4e8e 0.67 \u7684\u9700\u8981 JDK 8 \u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"android-\u5f00\u53d1\u73af\u5883",children:"Android \u5f00\u53d1\u73af\u5883"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u4e4b\u524d\u6ca1\u6709\u63a5\u89e6\u8fc7 Android \u7684\u5f00\u53d1\u73af\u5883\uff0c\u90a3\u4e48\u8bf7\u505a\u597d\u5fc3\u7406\u51c6\u5907\uff0c\u8fd9\u4e00\u8fc7\u7a0b\u76f8\u5f53\u7e41\u7410\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e07\u5206\u4ed4\u7ec6"}),"\u5730\u9605\u8bfb\u4e0b\u9762\u7684\u8bf4\u660e\uff0c\u4e25\u683c\u5bf9\u7167\u6587\u6863\u8fdb\u884c\u914d\u7f6e\u64cd\u4f5c\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u8bf7\u6ce8\u610f\uff01\uff01\uff01\u56fd\u5185\u7528\u6237",(0,i.jsx)(n.code,{children:"\u5fc5\u987b\u5fc5\u987b\u5fc5\u987b"}),"\u6709\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff0c\u5426\u5219\u5728\u4e0b\u8f7d\u3001\u5b89\u88c5\u3001\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u4f1a\u4e0d\u65ad\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u6216\u65ad\u5f00\uff0c\u65e0\u6cd5\u8fdb\u884c\u5f00\u53d1\u5de5\u4f5c\u3002\u67d0\u4e9b\u4ee3\u7406\u8f6f\u4ef6\u53ef\u80fd\u53ea\u63d0\u4f9b\u6d4f\u89c8\u5668\u7684\u4ee3\u7406\u529f\u80fd\uff0c\u6216\u53ea\u9488\u5bf9\u7279\u5b9a\u7f51\u7ad9\u4ee3\u7406\u7b49\u7b49\uff0c\u8bf7\u81ea\u884c\u7814\u7a76\u914d\u7f6e\u6216\u66f4\u6362\u5176\u4ed6\u8f6f\u4ef6\u3002\u603b\u4e4b\u5982\u679c\u62a5\u9519\u4e2d\u51fa\u73b0\u6709\u7f51\u5740\uff0c\u90a3\u5c31\u662f\u56e0\u4e3a\u94fe\u63a5\u6e90\u4ed3\u5e93\u7684\u7f51\u7edc\u94fe\u63a5\u88ab\u963b\u65ad\u4e86\uff0c\u8fd9\u4e00\u963b\u65ad\u73b0\u8c61\u53ef\u80fd\u56e0\u65f6\u95f4\u3001\u5730\u533a\u3001\u8fd0\u8425\u5546\u800c\u4e0d\u540c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u4e5f\u53ef\u4ee5\u5c1d\u8bd5\u53c2\u8003\u8fd9\u91cc\u7684\u505a\u6cd5",(0,i.jsx)(n.a,{href:"https://github.com/scwang90/SmartRefreshLayout/issues/1376#issuecomment-938422964",children:"\u8bbe\u7f6e\u963f\u91cc\u4e91\u7684 maven \u955c\u50cf\u6e90"}),"\uff0c\u4f46\u8fd9\u4e2a\u505a\u6cd5\u53ef\u80fd\u968f gradle \u6216\u8005 rn \u7248\u672c\u7684\u4e0d\u540c\u800c\u5931\u6548\u3002"]}),"\n"]}),"\n",(0,i.jsx)("h4",{id:"android-studio",children:"1. \u5b89\u88c5 Android Studio"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://developer.android.google.cn/studio/",children:"\u9996\u5148\u4e0b\u8f7d\u548c\u5b89\u88c5 Android Studio"}),'\uff0c\u56fd\u5185\u7528\u6237\u53ef\u80fd\u65e0\u6cd5\u6253\u5f00\u5b98\u65b9\u94fe\u63a5\uff0c\u53ef\u81ea\u884c\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u641c\u7d22\u53ef\u7528\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002\u5b89\u88c5\u754c\u9762\u4e2d\u9009\u62e9"Custom"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86\u4ee5\u4e0b\u51e0\u9879\uff1a']}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android Virtual Device"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:'\u7136\u540e\u70b9\u51fb"Next"\u6765\u5b89\u88c5\u9009\u4e2d\u7684\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u9009\u62e9\u6846\u662f\u7070\u7684\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5148\u8df3\u8fc7\uff0c\u7a0d\u540e\u518d\u6765\u5b89\u88c5\u8fd9\u4e9b\u7ec4\u4ef6\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u770b\u5230\u6b22\u8fce\u754c\u9762\u65f6\uff0c\u5c31\u53ef\u4ee5\u8fdb\u884c\u4e0b\u9762\u7684\u64cd\u4f5c\u4e86\u3002"}),"\n",(0,i.jsx)("h4",{id:"android-sdk",children:"2. \u5b89\u88c5 Android SDK"}),"\n",(0,i.jsxs)(n.p,{children:["Android Studio \u9ed8\u8ba4\u4f1a\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 Android SDK\u3002\u76ee\u524d\u7f16\u8bd1 React Native \u5e94\u7528\u9700\u8981\u7684\u662f",(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u7248\u672c\u7684 SDK\uff08\u6ce8\u610f SDK \u7248\u672c\u4e0d\u7b49\u4e8e\u7ec8\u7aef\u7cfb\u7edf\u7248\u672c\uff0cRN \u76ee\u524d\u652f\u6301 android 6 \u4ee5\u4e0a\u8bbe\u5907\uff09\u3002\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684 SDK Manager \u4e2d\u9009\u62e9\u5b89\u88c5\u5404\u7248\u672c\u7684 SDK\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684\u6b22\u8fce\u754c\u9762\u4e2d\u627e\u5230 SDK Manager\u3002\u70b9\u51fb"Configure"\uff0c\u7136\u540e\u5c31\u80fd\u770b\u5230"SDK Manager"\u3002'}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:['SDK Manager \u8fd8\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u627e\u5230\u3002\u5177\u4f53\u8def\u5f84\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"}),"\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u5728 SDK Manager \u4e2d\u9009\u62e9"SDK Platforms"\u9009\u9879\u5361\uff0c\u7136\u540e\u5728\u53f3\u4e0b\u89d2\u52fe\u9009"Show Package Details"\u3002\u5c55\u5f00',(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u9009\u9879\uff0c\u786e\u4fdd\u52fe\u9009\u4e86\u4e0b\u9762\u8fd9\u4e9b\u7ec4\u4ef6\uff08\u5982\u679c\u770b\u4e0d\u5230\u8fd9\u4e2a\u754c\u9762\uff0c\u5219\u9700\u8981\u4f7f\u7528\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff09\uff1a"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform 34"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Intel x86 Atom_64 System Image"}),"\uff08\u5b98\u65b9\u6a21\u62df\u5668\u955c\u50cf\u6587\u4ef6\uff0c\u4f7f\u7528\u975e\u5b98\u65b9\u6a21\u62df\u5668\u4e0d\u9700\u8981\u5b89\u88c5\u6b64\u7ec4\u4ef6\uff09"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u7136\u540e\u70b9\u51fb"SDK Tools"\u9009\u9879\u5361\uff0c\u540c\u6837\u52fe\u4e2d\u53f3\u4e0b\u89d2\u7684"Show Package Details"\u3002\u5c55\u5f00"Android SDK Build-Tools"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86 React Native \u6240\u5fc5\u987b\u7684',(0,i.jsx)(n.code,{children:"34.0.0"}),"\u7248\u672c\u3002\u4f60\u53ef\u4ee5\u540c\u65f6\u5b89\u88c5\u591a\u4e2a\u5176\u4ed6\u7248\u672c\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u6700\u540e\u70b9\u51fb"Apply"\u6765\u4e0b\u8f7d\u548c\u5b89\u88c5\u8fd9\u4e9b\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsx)("h4",{children:"3. \u914d\u7f6e ANDROID_HOME \u73af\u5883\u53d8\u91cf"}),"\n",(0,i.jsx)(n.p,{children:"React Native \u9700\u8981\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6765\u4e86\u89e3\u4f60\u7684 Android SDK \u88c5\u5728\u4ec0\u4e48\u8def\u5f84\uff0c\u4ece\u800c\u6b63\u5e38\u8fdb\u884c\u7f16\u8bd1\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u5177\u4f53\u7684\u505a\u6cd5\u662f\u628a\u4e0b\u9762\u7684\u547d\u4ee4\u52a0\u5165\u5230 shell \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4f60\u7684 shell \u662f zsh\uff0c\u5219\u914d\u7f6e\u6587\u4ef6\u4e3a",(0,i.jsx)(n.code,{children:"~/.zshrc"}),"\uff0c\u5982\u679c\u662f bash \u5219\u4e3a",(0,i.jsx)(n.code,{children:"~/.bash_profile"}),"\uff08\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"echo $0"}),"\u547d\u4ee4\u67e5\u770b\u4f60\u6240\u4f7f\u7528\u7684 shell\uff09\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"# \u5982\u679c\u4f60\u4e0d\u662f\u901a\u8fc7Android Studio\u5b89\u88c5\u7684sdk\uff0c\u5219\u5176\u8def\u5f84\u53ef\u80fd\u4e0d\u540c\uff0c\u8bf7\u81ea\u884c\u786e\u5b9a\u6e05\u695a\u3002\nexport ANDROID_HOME=$HOME/Library/Android/sdk\nexport PATH=$PATH:$ANDROID_HOME/platform-tools\nexport PATH=$PATH:$ANDROID_HOME/emulator\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u4f7f\u7528",(0,i.jsx)(n.code,{children:"source $HOME/.zshrc"}),"\u547d\u4ee4\u6765\u4f7f\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u7acb\u5373\u751f\u6548\uff08\u5426\u5219\u91cd\u542f\u540e\u624d\u751f\u6548\uff09\u3002\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"echo $ANDROID_HOME"}),"\u68c0\u67e5\u6b64\u53d8\u91cf\u662f\u5426\u5df2\u6b63\u786e\u8bbe\u7f6e"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:['\u8bf7\u786e\u4fdd\u4f60\u6b63\u786e\u6307\u5b9a\u4e86 Android SDK \u8def\u5f84\u3002\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u67e5\u770b SDK \u7684\u771f\u5b9e\u8def\u5f84\uff0c\u5177\u4f53\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u521b\u5efa\u65b0\u9879\u76ee",children:"\u521b\u5efa\u65b0\u9879\u76ee"}),"\n",(0,i.jsx)(o.ZP,{}),"\n",(0,i.jsxs)(n.p,{children:['\u4f7f\u7528 React Native \u5185\u5efa\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a"AwesomeProject"\u7684\u65b0\u9879\u76ee\u3002\u8fd9\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\u4e0d\u9700\u8981\u5b89\u88c5\uff0c\u53ef\u4ee5\u76f4\u63a5\u7528 node \u81ea\u5e26\u7684',(0,i.jsx)(n.code,{children:"npx"}),"\u547d\u4ee4\u6765\u4f7f\u7528\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cli@latest init AwesomeProject\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u662f\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u6b65\u9aa4\u5b8c\u5168\u4e0d\u540c\uff0c\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",children:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--version"}),"\u53c2\u6570\uff08\u6ce8\u610f\u662f",(0,i.jsx)(n.code,{children:"\u4e24"}),"\u4e2a\u6760\uff09\u521b\u5efa\u6307\u5b9a\u7248\u672c\u7684\u9879\u76ee\u3002\u4f8b\u5982\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cliX.XX.X init AwesomeProject --version X.XX.X\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u8fd8\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--template"}),"\u6765\u4f7f\u7528\u4e00\u4e9b\u793e\u533a\u63d0\u4f9b\u7684\u6a21\u677f\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u51c6\u5907-android-\u8bbe\u5907",children:"\u51c6\u5907 Android \u8bbe\u5907"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u9700\u8981\u51c6\u5907\u4e00\u53f0 Android \u8bbe\u5907\u6765\u8fd0\u884c React Native Android \u5e94\u7528\u3002\u8fd9\u91cc\u6240\u6307\u7684\u8bbe\u5907\u65e2\u53ef\u4ee5\u662f\u771f\u673a\uff0c\u4e5f\u53ef\u4ee5\u662f\u6a21\u62df\u5668\u3002\u540e\u9762\u6211\u4eec\u6240\u6709\u7684\u6587\u6863\u9664\u975e\u7279\u522b\u8bf4\u660e\uff0c\u5e76\u4e0d\u533a\u5206\u771f\u673a\u6216\u8005\u6a21\u62df\u5668\u3002Android \u5b98\u65b9\u63d0\u4f9b\u4e86\u540d\u4e3a Android Virtual Device\uff08\u7b80\u79f0 AVD\uff09\u7684\u6a21\u62df\u5668\u3002\u6b64\u5916\u8fd8\u6709\u5f88\u591a\u7b2c\u4e09\u65b9\u63d0\u4f9b\u7684\u6a21\u62df\u5668\u5982",(0,i.jsx)(n.a,{href:"https://www.genymotion.com/download",children:"Genymotion"}),"\u3001BlueStack \u7b49\u3002\u4e00\u822c\u6765\u8bf4\u5b98\u65b9\u6a21\u62df\u5668\u514d\u8d39\u3001\u529f\u80fd\u5b8c\u6574\uff0c\u4f46\u6027\u80fd\u8f83\u5dee\u3002\u7b2c\u4e09\u65b9\u6a21\u62df\u5668\u6027\u80fd\u8f83\u597d\uff0c\u4f46\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u6216\u5e26\u6709\u5e7f\u544a\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u771f\u673a",children:"\u4f7f\u7528 Android \u771f\u673a"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 Android \u771f\u673a\u6765\u4ee3\u66ff\u6a21\u62df\u5668\u8fdb\u884c\u5f00\u53d1\uff0c\u53ea\u9700\u7528 usb \u6570\u636e\u7ebf\u8fde\u63a5\u5230\u7535\u8111\uff0c\u7136\u540e\u9075\u7167",(0,i.jsx)(n.a,{href:"/docs/running-on-device",children:"\u5728\u8bbe\u5907\u4e0a\u8fd0\u884c"}),"\u8fd9\u7bc7\u6587\u6863\u7684\u8bf4\u660e\u64cd\u4f5c\u5373\u53ef\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",children:"\u4f7f\u7528 Android \u6a21\u62df\u5668"}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u4f7f\u7528 Android Studio \u6253\u5f00\u9879\u76ee\u4e0b\u7684"android"\u76ee\u5f55\uff0c\u7136\u540e\u53ef\u4ee5\u4f7f\u7528"AVD Manager"\u6765\u67e5\u770b\u53ef\u7528\u7684\u865a\u62df\u8bbe\u5907\uff0c\u5b83\u7684\u56fe\u6807\u770b\u8d77\u6765\u50cf\u4e0b\u9762\u8fd9\u6837\uff1a'}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Android Studio AVD Manager",src:r(49684).Z+"",width:"29",height:"25"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u521a\u521a\u624d\u5b89\u88c5 Android Studio\uff0c\u90a3\u4e48\u53ef\u80fd\u9700\u8981\u5148",(0,i.jsx)(n.a,{href:"https://developer.android.com/studio/run/managing-avds.html",children:"\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u8bbe\u5907"}),'\u3002\u70b9\u51fb"Create Virtual Device..."\uff0c\u7136\u540e\u9009\u62e9\u6240\u9700\u7684\u8bbe\u5907\u7c7b\u578b\u5e76\u70b9\u51fb"Next"\uff0c\u7136\u540e\u9009\u62e9',(0,i.jsx)(n.strong,{children:"Tiramisu"})," API Level 33 image."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u8bd1\u6ce8\uff1a\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5efa\u8bae\u5148\u5f00\u542f",(0,i.jsx)(n.a,{href:"https://developer.android.com/studio/run/emulator-acceleration.html#vm-linux",children:"\u865a\u62df\u52a0\u901f\u6280\u672f"}),"\u4ee5\u63d0\u9ad8\u6a21\u62df\u5668\u6027\u80fd\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:'\u7136\u540e\u70b9\u51fb"Next"\u548c"Finish"\u6765\u5b8c\u6210\u865a\u62df\u8bbe\u5907\u7684\u521b\u5efa\u3002\u73b0\u5728\u4f60\u5e94\u8be5\u53ef\u4ee5\u70b9\u51fb\u865a\u62df\u8bbe\u5907\u65c1\u7684\u7eff\u8272\u4e09\u89d2\u6309\u94ae\u6765\u542f\u52a8\u5b83\u4e86\u3002\u7136\u540e\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u8fd0\u884c\u5e94\u7528\u4e86\u3002'}),"\n",(0,i.jsx)(n.h2,{id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",children:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528"}),"\n",(0,i.jsxs)(n.p,{children:["\u786e\u4fdd\u4f60\u5148\u8fd0\u884c\u4e86\u6a21\u62df\u5668\u6216\u8005\u8fde\u63a5\u4e86\u771f\u673a\uff0c\u7136\u540e\u5728\u4f60\u7684\u9879\u76ee\u76ee\u5f55\u4e2d\u8fd0\u884c",(0,i.jsx)(n.code,{children:"yarn android"}),"\u6216\u8005",(0,i.jsx)(n.code,{children:"yarn react-native run-android"}),"\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"cd AwesomeProject\nyarn android\n# \u6216\u8005\nyarn react-native run-android\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u6b64\u547d\u4ee4\u4f1a\u5bf9\u9879\u76ee\u7684\u539f\u751f\u90e8\u5206\u8fdb\u884c\u7f16\u8bd1\uff0c\u540c\u65f6\u5728\u53e6\u5916\u4e00\u4e2a\u547d\u4ee4\u884c\u4e2d\u542f\u52a8",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u5bf9 js \u4ee3\u7801\u8fdb\u884c\u5b9e\u65f6\u6253\u5305\u5904\u7406\uff08\u7c7b\u4f3c webpack\uff09\u3002",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u4e5f\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"yarn start"}),"\u547d\u4ee4\u5355\u72ec\u542f\u52a8\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u914d\u7f6e\u6ca1\u6709\u95ee\u9898\uff0c\u4f60\u5e94\u8be5\u53ef\u4ee5\u770b\u5230\u5e94\u7528\u81ea\u52a8\u5b89\u88c5\u5230\u8bbe\u5907\u4e0a\u5e76\u5f00\u59cb\u8fd0\u884c\u3002\u6ce8\u610f\u7b2c\u4e00\u6b21\u8fd0\u884c\u65f6\u9700\u8981\u4e0b\u8f7d\u5927\u91cf\u7f16\u8bd1\u4f9d\u8d56\uff0c\u8017\u65f6\u53ef\u80fd\u6570\u5341\u5206\u949f\u3002\u6b64\u8fc7\u7a0b",(0,i.jsx)(n.code,{children:"\u4e25\u91cd\u4f9d\u8d56\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6"}),"\uff0c\u5426\u5219\u5c06\u9891\u7e41\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u548c\u65ad\u5f00\uff0c\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"npx react-native run-android"}),"\u53ea\u662f\u8fd0\u884c\u5e94\u7528\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002\u4f60\u4e5f\u53ef\u4ee5\u5728 Android Studio \u4e2d\u76f4\u63a5\u8fd0\u884c\u5e94\u7528\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u5efa\u8bae\u5728",(0,i.jsx)(n.code,{children:"run-android"}),"\u6210\u529f\u540e\u518d\u5c1d\u8bd5\u4f7f\u7528 Android Studio \u542f\u52a8\u3002\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u9047\u5230\u5947\u5947\u602a\u602a\u7684\u7ea2\u5c4f\u9519\u8bef\uff0c\u5148\u56de\u5934",(0,i.jsx)(n.code,{children:"\u4ed4\u7ec6\u5bf9\u7167\u6587\u6863\u68c0\u67e5"}),"\uff0c\u7136\u540e\u53ef\u4ee5\u770b\u770b",(0,i.jsx)(n.a,{href:"https://github.com/reactnativecn/react-native-website/issues",children:"\u95ee\u9898\u8ba8\u8bba\u533a"}),"\u3002\u4e0d\u540c\u65f6\u671f\u4e0d\u540c\u7248\u672c\u53ef\u80fd\u4f1a\u78b0\u5230\u4e0d\u540c\u7684\u95ee\u9898\uff0c\u6211\u4eec\u4f1a\u5728\u8bba\u575b\u4e2d\u53ca\u65f6\u89e3\u7b54\u66f4\u65b0\u3002\u4f46\u8bf7\u6ce8\u610f",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.em,{children:"\u5343\u4e07\u4e0d\u8981"})}),"\u6267\u884c bundle \u547d\u4ee4\uff0c\u90a3\u6837\u4f1a\u5bfc\u81f4\u4ee3\u7801\u5b8c\u5168\u65e0\u6cd5\u5237\u65b0\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4fee\u6539\u9879\u76ee",children:"\u4fee\u6539\u9879\u76ee"}),"\n",(0,i.jsx)(n.p,{children:"\u73b0\u5728\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u4e86\u9879\u76ee\uff0c\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u5c1d\u8bd5\u52a8\u624b\u6539\u4e00\u6539\u4e86\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u4f7f\u7528\u4f60\u559c\u6b22\u7684\u6587\u672c\u7f16\u8f91\u5668\u6253\u5f00",(0,i.jsx)(n.code,{children:"App.tsx"}),"\u5e76\u968f\u4fbf\u6539\u4e0a\u51e0\u884c"]}),"\n",(0,i.jsxs)(n.li,{children:["\u6309\u4e24\u4e0b ",(0,i.jsx)("kbd",{children:"R"})," \u952e\uff0c\u6216\u662f\u5728\u5f00\u53d1\u8005\u83dc\u5355\u4e2d\u9009\u62e9 ",(0,i.jsx)(n.em,{children:"Reload"}),"\uff0c\u5c31\u53ef\u4ee5\u770b\u5230\u4f60\u7684\u6700\u65b0\u4fee\u6539\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5b8c\u6210\u4e86",children:"\u5b8c\u6210\u4e86\uff01"}),"\n",(0,i.jsx)(n.p,{children:"\u606d\u559c\uff01\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u5e76\u4fee\u6539\u4e86\u4f60\u7684\u7b2c\u4e00\u4e2a React Native \u5e94\u7528"}),"\n",(0,i.jsx)("center",{children:(0,i.jsx)("img",{src:"https://cdn.jsdelivr.net/gh/reactnativecn/react-native-website@gh-pages/docs/assets/GettingStartedCongratulations.png",width:"150"})}),"\n",(0,i.jsx)(n.h2,{id:"\u63a5\u4e0b\u6765",children:"\u63a5\u4e0b\u6765\uff1f"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u4ece\u5934\u5f00\u59cb\u5b66\u4e60 React Native \u5f00\u53d1\uff0c\u53ef\u4ee5\u4ece",(0,i.jsx)(n.a,{href:"/docs/environment-setup",children:"\u7b80\u4ecb"}),"\u6587\u6863\u5f00\u59cb\u3002"]})]})}function h(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(t,{...e})}):t(e)}const x=[{value:"\u5b89\u88c5\u4f9d\u8d56",id:"\u5b89\u88c5\u4f9d\u8d56",level:2},{value:"Node & Watchman",id:"node--watchman",level:3},{value:"Yarn",id:"yarn",level:3},{value:"Java Development Kit",id:"java-development-kit",level:3},{value:"Android \u5f00\u53d1\u73af\u5883",id:"android-\u5f00\u53d1\u73af\u5883",level:3},{value:"3. \u914d\u7f6e ANDROID_HOME \u73af\u5883\u53d8\u91cf",id:"3-\u914d\u7f6e-android_home-\u73af\u5883\u53d8\u91cf",level:4},...o.d$,{value:"\u51c6\u5907 Android \u8bbe\u5907",id:"\u51c6\u5907-android-\u8bbe\u5907",level:2},{value:"\u4f7f\u7528 Android \u771f\u673a",id:"\u4f7f\u7528-android-\u771f\u673a",level:3},{value:"\u4f7f\u7528 Android \u6a21\u62df\u5668",id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",level:3},{value:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528",id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",level:2},{value:"\u4fee\u6539\u9879\u76ee",id:"\u4fee\u6539\u9879\u76ee",level:3},{value:"\u5b8c\u6210\u4e86\uff01",id:"\u5b8c\u6210\u4e86",level:3},{value:"\u63a5\u4e0b\u6765\uff1f",id:"\u63a5\u4e0b\u6765",level:2}];function j(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"\u5b89\u88c5\u4f9d\u8d56",children:"\u5b89\u88c5\u4f9d\u8d56"}),"\n",(0,i.jsx)(n.p,{children:"\u5fc5\u987b\u5b89\u88c5\u7684\u4f9d\u8d56\u6709\uff1aNode\u3001JDK \u548c Android Studio\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u867d\u7136\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u4efb\u4f55\u7f16\u8f91\u5668"}),"\u6765\u5f00\u53d1\u5e94\u7528\uff08\u7f16\u5199 js \u4ee3\u7801\uff09\uff0c\u4f46\u4f60\u4ecd\u7136\u5fc5\u987b\u5b89\u88c5 Android Studio \u6765\u83b7\u5f97\u7f16\u8bd1 Android \u5e94\u7528\u6240\u9700\u7684\u5de5\u5177\u548c\u73af\u5883\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"node--watchman",children:"Node & Watchman"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u63a8\u8350\u4f7f\u7528",(0,i.jsx)(n.a,{href:"http://brew.sh/",children:"Homebrew"}),"\u6765\u5b89\u88c5 Node \u548c Watchman\u3002\u5728\u547d\u4ee4\u884c\u4e2d\u6267\u884c\u4e0b\u5217\u547d\u4ee4\u5b89\u88c5\uff08\u5982\u5b89\u88c5\u8f83\u6162\u53ef\u4ee5\u5c1d\u8bd5\u963f\u91cc\u4e91\u7684",(0,i.jsx)(n.a,{href:"https://developer.aliyun.com/mirror/homebrew",children:"\u955c\u50cf\u6e90"}),"\uff09\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"brew install node@18\nbrew install watchman\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u4f60\u5df2\u7ecf\u5b89\u88c5\u4e86 Node\uff0c\u8bf7\u68c0\u67e5\u5176\u7248\u672c\u662f\u5426\u5728 18 \u4ee5\u4e0a\u3002\u5b89\u88c5\u5b8c Node \u540e\u5efa\u8bae\u8bbe\u7f6e npm \u955c\u50cf\uff08\u6dd8\u5b9d\u6e90\uff09\u4ee5\u52a0\u901f\u540e\u9762\u7684\u8fc7\u7a0b\uff08\u6216\u4f7f\u7528\u79d1\u5b66\u4e0a\u7f51\u5de5\u5177\uff09\u3002"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u5f3a\u70c8\u5efa\u8bae\u59cb\u7ec8\u9009\u62e9 Node \u5f53\u524d\u7684 LTS \uff08\u957f\u671f\u7ef4\u62a4\uff09\u7248\u672c\uff0c\u4e00\u822c\u662f\u5076\u6570\u7248\u672c\uff0c\u4e0d\u8981\u9009\u62e9\u504f\u5b9e\u9a8c\u6027\u8d28\u7684\u5947\u6570\u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u4e0d\u8981\u4f7f\u7528 cnpm\uff01cnpm \u5b89\u88c5\u7684\u6a21\u5757\u8def\u5f84\u6bd4\u8f83\u5947\u602a\uff0cpackager \u4e0d\u80fd\u6b63\u5e38\u8bc6\u522b\uff01"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"# \u4f7f\u7528nrm\u5de5\u5177\u5207\u6362\u6dd8\u5b9d\u6e90\nnpx nrm use taobao\n\n# \u5982\u679c\u4e4b\u540e\u9700\u8981\u5207\u6362\u56de\u5b98\u65b9\u6e90\u53ef\u4f7f\u7528\nnpx nrm use npm\n"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://facebook.github.io/watchman",children:"Watchman"}),"\u5219\u662f\u7531 Facebook \u63d0\u4f9b\u7684\u76d1\u89c6\u6587\u4ef6\u7cfb\u7edf\u53d8\u66f4\u7684\u5de5\u5177\u3002\u5b89\u88c5\u6b64\u5de5\u5177\u53ef\u4ee5\u63d0\u9ad8\u5f00\u53d1\u65f6\u7684\u6027\u80fd\uff08packager \u53ef\u4ee5\u5feb\u901f\u6355\u6349\u6587\u4ef6\u7684\u53d8\u5316\u4ece\u800c\u5b9e\u73b0\u5b9e\u65f6\u5237\u65b0\uff09\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"yarn",children:"Yarn"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"http://yarnpkg.com",children:"Yarn"}),"\u662f Facebook \u63d0\u4f9b\u7684\u66ff\u4ee3 npm \u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u52a0\u901f node \u6a21\u5757\u7684\u4e0b\u8f7d\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm install -g yarn\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5\u5b8c yarn \u4e4b\u540e\u5c31\u53ef\u4ee5\u7528 yarn \u4ee3\u66ff npm \u4e86\uff0c\u4f8b\u5982\u7528",(0,i.jsx)(n.code,{children:"yarn"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install"}),"\u547d\u4ee4\uff0c\u7528",(0,i.jsx)(n.code,{children:"yarn add \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"java-development-kit",children:"Java Development Kit"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u63a8\u8350\u4f7f\u7528",(0,i.jsx)(n.a,{href:"http://brew.sh/",children:"Homebrew"}),"\u6765\u5b89\u88c5\u7531 Azul \u63d0\u4f9b\u7684 \u540d\u4e3a ",(0,i.jsx)(n.strong,{children:"Zulu"})," \u7684 OpenJDK \u53d1\u884c\u7248\u3002\u6b64\u53d1\u884c\u7248",(0,i.jsx)(n.strong,{children:"\u540c\u65f6\u4e3a Intel \u548c M1 \u82af\u7247\u63d0\u4f9b\u652f\u6301"}),"\u3002\u5728 M1 \u82af\u7247\u67b6\u6784\u7684 Mac \u4e0a\u76f8\u6bd4\u5176\u4ed6 JDK \u5728\u7f16\u8bd1\u65f6\u6709\u660e\u663e\u7684\u6027\u80fd\u4f18\u52bf\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"brew install --cask zulu@17\n\n# Get path to where cask was installed to double-click installer\nbrew info --cask zulu@17\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5 JDK \u540e\uff0c\u8bf7\u66f4\u65b0 ",(0,i.jsx)(n.code,{children:"JAVA_HOME"})," \u73af\u5883\u53d8\u91cf\u3002\u5982\u679c\u4f60\u662f\u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u64cd\u4f5c\uff0cJDK \u5f88\u53ef\u80fd\u4f4d\u4e8e ",(0,i.jsx)(n.code,{children:"/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home"})]}),"\n",(0,i.jsxs)(n.p,{children:["React Native \u5f53\u524d\u9700\u8981 Java Development Kit [JDK] 17\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528\u66f4\u9ad8\u7248\u672c\u6216\u66f4\u4f4e\u7248\u672c\uff0c\u53ef\u80fd\u4f1a\u78b0\u5230\u95ee\u9898\u3002\u4f60\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u8f93\u5165\n",(0,i.jsx)(n.code,{children:"javac -version"}),"\uff08\u8bf7\u6ce8\u610f\u662f javac\uff0c\u4e0d\u662f java\uff09\u6765\u67e5\u770b\u4f60\u5f53\u524d\u5b89\u88c5\u7684 JDK \u7248\u672c\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u4f4e\u4e8e 0.73 \u7248\u672c\u7684 React Native \u9700\u8981 JDK 11 \u7248\u672c\uff0c\u800c\u4f4e\u4e8e 0.67 \u7684\u9700\u8981 JDK 8 \u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"android-\u5f00\u53d1\u73af\u5883",children:"Android \u5f00\u53d1\u73af\u5883"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u4e4b\u524d\u6ca1\u6709\u63a5\u89e6\u8fc7 Android \u7684\u5f00\u53d1\u73af\u5883\uff0c\u90a3\u4e48\u8bf7\u505a\u597d\u5fc3\u7406\u51c6\u5907\uff0c\u8fd9\u4e00\u8fc7\u7a0b\u76f8\u5f53\u7e41\u7410\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e07\u5206\u4ed4\u7ec6"}),"\u5730\u9605\u8bfb\u4e0b\u9762\u7684\u8bf4\u660e\uff0c\u4e25\u683c\u5bf9\u7167\u6587\u6863\u8fdb\u884c\u914d\u7f6e\u64cd\u4f5c\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u8bf7\u6ce8\u610f\uff01\uff01\uff01\u56fd\u5185\u7528\u6237",(0,i.jsx)(n.code,{children:"\u5fc5\u987b\u5fc5\u987b\u5fc5\u987b"}),"\u6709\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff0c\u5426\u5219\u5728\u4e0b\u8f7d\u3001\u5b89\u88c5\u3001\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u4f1a\u4e0d\u65ad\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u6216\u65ad\u5f00\uff0c\u65e0\u6cd5\u8fdb\u884c\u5f00\u53d1\u5de5\u4f5c\u3002\u67d0\u4e9b\u4ee3\u7406\u8f6f\u4ef6\u53ef\u80fd\u53ea\u63d0\u4f9b\u6d4f\u89c8\u5668\u7684\u4ee3\u7406\u529f\u80fd\uff0c\u6216\u53ea\u9488\u5bf9\u7279\u5b9a\u7f51\u7ad9\u4ee3\u7406\u7b49\u7b49\uff0c\u8bf7\u81ea\u884c\u7814\u7a76\u914d\u7f6e\u6216\u66f4\u6362\u5176\u4ed6\u8f6f\u4ef6\u3002\u603b\u4e4b\u5982\u679c\u62a5\u9519\u4e2d\u51fa\u73b0\u6709\u7f51\u5740\uff0c\u90a3\u5c31\u662f\u56e0\u4e3a\u94fe\u63a5\u6e90\u4ed3\u5e93\u7684\u7f51\u7edc\u94fe\u63a5\u88ab\u963b\u65ad\u4e86\uff0c\u8fd9\u4e00\u963b\u65ad\u73b0\u8c61\u53ef\u80fd\u56e0\u65f6\u95f4\u3001\u5730\u533a\u3001\u8fd0\u8425\u5546\u800c\u4e0d\u540c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u4e5f\u53ef\u4ee5\u5c1d\u8bd5\u53c2\u8003\u8fd9\u91cc\u7684\u505a\u6cd5",(0,i.jsx)(n.a,{href:"https://github.com/scwang90/SmartRefreshLayout/issues/1376#issuecomment-938422964",children:"\u8bbe\u7f6e\u963f\u91cc\u4e91\u7684 maven \u955c\u50cf\u6e90"}),"\uff0c\u4f46\u8fd9\u4e2a\u505a\u6cd5\u53ef\u80fd\u968f gradle \u6216\u8005 rn \u7248\u672c\u7684\u4e0d\u540c\u800c\u5931\u6548\u3002"]}),"\n"]}),"\n",(0,i.jsx)("h4",{id:"android-studio",children:"1. \u5b89\u88c5 Android Studio"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://developer.android.google.cn/studio/",children:"\u9996\u5148\u4e0b\u8f7d\u548c\u5b89\u88c5 Android Studio"}),'\uff0c\u56fd\u5185\u7528\u6237\u53ef\u80fd\u65e0\u6cd5\u6253\u5f00\u5b98\u65b9\u94fe\u63a5\uff0c\u8bf7\u81ea\u884c\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u641c\u7d22\u53ef\u7528\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002\u5b89\u88c5\u754c\u9762\u4e2d\u9009\u62e9"Custom"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86\u4ee5\u4e0b\u51e0\u9879\uff1a']}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android Virtual Device"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:'\u7136\u540e\u70b9\u51fb"Next"\u6765\u5b89\u88c5\u9009\u4e2d\u7684\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u9009\u62e9\u6846\u662f\u7070\u7684\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5148\u8df3\u8fc7\uff0c\u7a0d\u540e\u518d\u6765\u5b89\u88c5\u8fd9\u4e9b\u7ec4\u4ef6\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u770b\u5230\u6b22\u8fce\u754c\u9762\u65f6\uff0c\u5c31\u53ef\u4ee5\u8fdb\u884c\u4e0b\u9762\u7684\u64cd\u4f5c\u4e86\u3002"}),"\n",(0,i.jsx)("h4",{id:"android-sdk",children:"2. \u5b89\u88c5 Android SDK"}),"\n",(0,i.jsxs)(n.p,{children:["Android Studio \u9ed8\u8ba4\u4f1a\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 Android SDK\u3002\u76ee\u524d\u7f16\u8bd1 React Native \u5e94\u7528\u9700\u8981\u7684\u662f",(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u7248\u672c\u7684 SDK\uff08\u6ce8\u610f SDK \u7248\u672c\u4e0d\u7b49\u4e8e\u7ec8\u7aef\u7cfb\u7edf\u7248\u672c\uff0cRN \u76ee\u524d\u652f\u6301 android 6 \u4ee5\u4e0a\u8bbe\u5907\uff09\u3002\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684 SDK Manager \u4e2d\u9009\u62e9\u5b89\u88c5\u5404\u7248\u672c\u7684 SDK\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684\u6b22\u8fce\u754c\u9762\u4e2d\u627e\u5230 SDK Manager\u3002\u70b9\u51fb"Configure"\uff0c\u7136\u540e\u5c31\u80fd\u770b\u5230"SDK Manager"\u3002'}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Android Studio Welcome",src:r(47985).Z+"",width:"704",height:"550"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:['SDK Manager \u8fd8\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u627e\u5230\u3002\u5177\u4f53\u8def\u5f84\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"}),"\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u5728 SDK Manager \u4e2d\u9009\u62e9"SDK Platforms"\u9009\u9879\u5361\uff0c\u7136\u540e\u5728\u53f3\u4e0b\u89d2\u52fe\u9009"Show Package Details"\u3002\u5c55\u5f00',(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u9009\u9879\uff0c\u786e\u4fdd\u52fe\u9009\u4e86\u4e0b\u9762\u8fd9\u4e9b\u7ec4\u4ef6\uff08\u5982\u679c\u770b\u4e0d\u5230\u8fd9\u4e2a\u754c\u9762\uff0c\u5219\u9700\u8981\u4f7f\u7528\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff09\uff1a"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform 34"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Intel x86 Atom_64 System Image"}),"\uff08\u5b98\u65b9\u6a21\u62df\u5668\u955c\u50cf\u6587\u4ef6\uff0c\u4f7f\u7528\u975e\u5b98\u65b9\u6a21\u62df\u5668\u4e0d\u9700\u8981\u5b89\u88c5\u6b64\u7ec4\u4ef6\uff09\u6216\u662f",(0,i.jsx)(n.code,{children:"Google APIs ARM 64 v8a System Image"}),"\uff08\u9488\u5bf9 Apple Silicon \u7cfb\u5217\u673a\u578b\uff09"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u7136\u540e\u70b9\u51fb"SDK Tools"\u9009\u9879\u5361\uff0c\u540c\u6837\u52fe\u4e2d\u53f3\u4e0b\u89d2\u7684"Show Package Details"\u3002\u5c55\u5f00"Android SDK Build-Tools"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86 React Native \u6240\u5fc5\u987b\u7684',(0,i.jsx)(n.code,{children:"34.0.0"}),"\u7248\u672c\u3002\u4f60\u53ef\u4ee5\u540c\u65f6\u5b89\u88c5\u591a\u4e2a\u5176\u4ed6\u7248\u672c\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u70b9\u51fb"Apply"\u6765\u4e0b\u8f7d\u548c\u5b89\u88c5\u9009\u4e2d\u7684\u8fd9\u4e9b\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsx)(n.h4,{id:"3-\u914d\u7f6e-android_home-\u73af\u5883\u53d8\u91cf",children:"3. \u914d\u7f6e ANDROID_HOME \u73af\u5883\u53d8\u91cf"}),"\n",(0,i.jsx)(n.p,{children:"React Native \u9700\u8981\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6765\u4e86\u89e3\u4f60\u7684 Android SDK \u88c5\u5728\u4ec0\u4e48\u8def\u5f84\uff0c\u4ece\u800c\u6b63\u5e38\u8fdb\u884c\u7f16\u8bd1\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u5177\u4f53\u7684\u505a\u6cd5\u662f\u628a\u4e0b\u9762\u7684\u547d\u4ee4\u52a0\u5165\u5230 shell \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4f60\u7684 shell \u662f zsh\uff0c\u5219\u914d\u7f6e\u6587\u4ef6\u4e3a",(0,i.jsx)(n.code,{children:"~/.zshrc"}),"\uff0c\u5982\u679c\u662f bash \u5219\u4e3a",(0,i.jsx)(n.code,{children:"~/.bash_profile"}),"\uff08\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"echo $0"}),"\u547d\u4ee4\u67e5\u770b\u4f60\u6240\u4f7f\u7528\u7684 shell\u3002\uff09\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"# \u5982\u679c\u4f60\u4e0d\u662f\u901a\u8fc7Android Studio\u5b89\u88c5\u7684sdk\uff0c\u5219\u5176\u8def\u5f84\u53ef\u80fd\u4e0d\u540c\uff0c\u8bf7\u81ea\u884c\u786e\u5b9a\u6e05\u695a\nexport ANDROID_HOME=$HOME/Library/Android/sdk\nexport PATH=$PATH:$ANDROID_HOME/emulator\nexport PATH=$PATH:$ANDROID_HOME/platform-tools\n"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a~\u8868\u793a\u7528\u6237\u76ee\u5f55\uff0c\u5373",(0,i.jsx)(n.code,{children:"/Users/\u4f60\u7684\u7528\u6237\u540d/"}),"\uff0c\u800c\u5c0f\u6570\u70b9\u5f00\u5934\u7684\u6587\u4ef6\u5728 Finder \u4e2d\u662f\u9690\u85cf\u7684\uff0c\u5e76\u4e14\u8fd9\u4e2a\u6587\u4ef6\u6709\u53ef\u80fd\u5e76\u4e0d\u5b58\u5728\u3002\u53ef\u5728\u7ec8\u7aef\u4e0b\u4f7f\u7528",(0,i.jsx)(n.code,{children:"vi ~/.zshrc"}),"\u547d\u4ee4\u521b\u5efa\u6216\u7f16\u8f91\u3002\u5982\u4e0d\u719f\u6089 vi \u64cd\u4f5c\uff0c\u8bf7\u70b9\u51fb",(0,i.jsx)(n.a,{href:"http://www.eepw.com.cn/article/48018.htm",children:"\u8fd9\u91cc"}),"\u5b66\u4e60\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["\u4f7f\u7528",(0,i.jsx)(n.code,{children:"source $HOME/.zshrc"}),"\u547d\u4ee4\u6765\u4f7f\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u7acb\u5373\u751f\u6548\uff08\u5426\u5219\u91cd\u542f\u540e\u624d\u751f\u6548\uff09\u3002\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"echo $ANDROID_HOME"}),"\u68c0\u67e5\u6b64\u53d8\u91cf\u662f\u5426\u5df2\u6b63\u786e\u8bbe\u7f6e\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:['\u8bf7\u786e\u4fdd\u4f60\u6b63\u786e\u6307\u5b9a\u4e86 Android SDK \u8def\u5f84\u3002\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u67e5\u770b SDK \u7684\u771f\u5b9e\u8def\u5f84\uff0c\u5177\u4f53\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"}),"\u3002"]}),"\n"]}),"\n",(0,i.jsx)("h2",{children:"\u521b\u5efa\u65b0\u9879\u76ee"}),"\n",(0,i.jsx)(o.ZP,{}),"\n",(0,i.jsxs)(n.p,{children:['\u4f7f\u7528 React Native \u5185\u5efa\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a"AwesomeProject"\u7684\u65b0\u9879\u76ee\u3002\u8fd9\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\u4e0d\u9700\u8981\u5b89\u88c5\uff0c\u53ef\u4ee5\u76f4\u63a5\u7528 node \u81ea\u5e26\u7684',(0,i.jsx)(n.code,{children:"npx"}),"\u547d\u4ee4\u6765\u4f7f\u7528\uff1a"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u5fc5\u987b\u8981\u770b\u7684\u6ce8\u610f\u4e8b\u9879"}),"\uff1a\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5355\u72ec\u4f7f\u7528\u5e38\u89c1\u7684\u5173\u952e\u5b57\u4f5c\u4e3a\u9879\u76ee\u540d\uff08\u5982 class, native, new, package \u7b49\u7b49\uff09\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u4f7f\u7528\u4e0e\u6838\u5fc3\u6a21\u5757\u540c\u540d\u7684\u9879\u76ee\u540d\uff08\u5982 react, react-native \u7b49\uff09\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5728\u76ee\u5f55\u3001\u6587\u4ef6\u540d\u4e2d\u4f7f\u7528\u4e2d\u6587\u3001\u7a7a\u683c\u7b49\u7279\u6b8a\u7b26\u53f7\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cli@latest init AwesomeProject\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u662f\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u6b65\u9aa4\u5b8c\u5168\u4e0d\u540c\uff0c\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsx)("h3",{children:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--version"}),"\u53c2\u6570\uff08\u6ce8\u610f\u662f",(0,i.jsx)(n.code,{children:"\u4e24"}),"\u4e2a\u6760\uff09\u521b\u5efa\u6307\u5b9a\u7248\u672c\u7684\u9879\u76ee\u3002\u4f8b\u5982\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cliX.XX.X init AwesomeProject --version X.XX.X\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u8fd8\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--template"}),"\u53c2\u6570\u6765\u4f7f\u7528\u4e00\u4e9b\u793e\u533a\u63d0\u4f9b\u7684\u6a21\u677f\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u51c6\u5907-android-\u8bbe\u5907",children:"\u51c6\u5907 Android \u8bbe\u5907"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u9700\u8981\u51c6\u5907\u4e00\u53f0 Android \u8bbe\u5907\u6765\u8fd0\u884c React Native Android \u5e94\u7528\u3002\u8fd9\u91cc\u6240\u6307\u7684\u8bbe\u5907\u65e2\u53ef\u4ee5\u662f\u771f\u673a\uff0c\u4e5f\u53ef\u4ee5\u662f\u6a21\u62df\u5668\u3002\u540e\u9762\u6211\u4eec\u6240\u6709\u7684\u6587\u6863\u9664\u975e\u7279\u522b\u8bf4\u660e\uff0c\u5e76\u4e0d\u533a\u5206\u771f\u673a\u6216\u8005\u6a21\u62df\u5668\u3002Android \u5b98\u65b9\u63d0\u4f9b\u4e86\u540d\u4e3a Android Virtual Device\uff08\u7b80\u79f0 AVD\uff09\u7684\u6a21\u62df\u5668\u3002\u6b64\u5916\u8fd8\u6709\u5f88\u591a\u7b2c\u4e09\u65b9\u63d0\u4f9b\u7684\u6a21\u62df\u5668\u5982",(0,i.jsx)(n.a,{href:"https://www.genymotion.com/download",children:"Genymotion"}),"\u3001BlueStack \u7b49\u3002\u4e00\u822c\u6765\u8bf4\u5b98\u65b9\u6a21\u62df\u5668\u514d\u8d39\u3001\u529f\u80fd\u5b8c\u6574\uff0c\u4f46\u6027\u80fd\u8f83\u5dee\u3002\u7b2c\u4e09\u65b9\u6a21\u62df\u5668\u6027\u80fd\u8f83\u597d\uff0c\u4f46\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u6216\u5e26\u6709\u5e7f\u544a\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u771f\u673a",children:"\u4f7f\u7528 Android \u771f\u673a"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 Android \u771f\u673a\u6765\u4ee3\u66ff\u6a21\u62df\u5668\u8fdb\u884c\u5f00\u53d1\uff0c\u53ea\u9700\u7528 usb \u6570\u636e\u7ebf\u8fde\u63a5\u5230\u7535\u8111\uff0c\u7136\u540e\u9075\u7167",(0,i.jsx)(n.a,{href:"/docs/running-on-device",children:"\u5728\u8bbe\u5907\u4e0a\u8fd0\u884c"}),"\u8fd9\u7bc7\u6587\u6863\u7684\u8bf4\u660e\u64cd\u4f5c\u5373\u53ef\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",children:"\u4f7f\u7528 Android \u6a21\u62df\u5668"}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u4f7f\u7528 Android Studio \u6253\u5f00\u9879\u76ee\u4e0b\u7684"android"\u76ee\u5f55\uff0c\u7136\u540e\u53ef\u4ee5\u4f7f\u7528"AVD Manager"\u6765\u67e5\u770b\u53ef\u7528\u7684\u865a\u62df\u8bbe\u5907\uff0c\u5b83\u7684\u56fe\u6807\u770b\u8d77\u6765\u50cf\u4e0b\u9762\u8fd9\u6837\uff1a'}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Android Studio AVD Manager",src:r(13488).Z+"",width:"29",height:"25"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u521a\u521a\u624d\u5b89\u88c5 Android Studio\uff0c\u90a3\u4e48\u53ef\u80fd\u9700\u8981\u5148",(0,i.jsx)(n.a,{href:"https://developer.android.com/studio/run/managing-avds.html",children:"\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u8bbe\u5907"}),'\u3002\u70b9\u51fb"Create Virtual Device..."\uff0c\u7136\u540e\u9009\u62e9\u6240\u9700\u7684\u8bbe\u5907\u7c7b\u578b\u5e76\u70b9\u51fb"Next"\uff0c\u7136\u540e\u9009\u62e9',(0,i.jsx)(n.strong,{children:"Tiramisu"})," API Level 33 image."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u8bd1\u6ce8\uff1a\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",children:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528"}),"\n",(0,i.jsxs)(n.p,{children:["\u786e\u4fdd\u4f60\u5148\u8fd0\u884c\u4e86\u6a21\u62df\u5668\u6216\u8005\u8fde\u63a5\u4e86\u771f\u673a\uff0c\u7136\u540e\u5728\u4f60\u7684\u9879\u76ee\u76ee\u5f55\u4e2d\u8fd0\u884c",(0,i.jsx)(n.code,{children:"yarn android"}),"\u6216\u8005",(0,i.jsx)(n.code,{children:"yarn react-native run-android"}),"\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"cd AwesomeProject\nyarn android\n# \u6216\u8005\nyarn react-native run-android\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u6b64\u547d\u4ee4\u4f1a\u5bf9\u9879\u76ee\u7684\u539f\u751f\u90e8\u5206\u8fdb\u884c\u7f16\u8bd1\uff0c\u540c\u65f6\u5728\u53e6\u5916\u4e00\u4e2a\u547d\u4ee4\u884c\u4e2d\u542f\u52a8",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u5bf9 js \u4ee3\u7801\u8fdb\u884c\u5b9e\u65f6\u6253\u5305\u5904\u7406\uff08\u7c7b\u4f3c webpack\uff09\u3002",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u4e5f\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"yarn start"}),"\u547d\u4ee4\u5355\u72ec\u542f\u52a8\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u914d\u7f6e\u6ca1\u6709\u95ee\u9898\uff0c\u4f60\u5e94\u8be5\u53ef\u4ee5\u770b\u5230\u5e94\u7528\u81ea\u52a8\u5b89\u88c5\u5230\u8bbe\u5907\u4e0a\u5e76\u5f00\u59cb\u8fd0\u884c\u3002\u6ce8\u610f\u7b2c\u4e00\u6b21\u8fd0\u884c\u65f6\u9700\u8981\u4e0b\u8f7d\u5927\u91cf\u7f16\u8bd1\u4f9d\u8d56\uff0c\u8017\u65f6\u53ef\u80fd\u6570\u5341\u5206\u949f\u3002\u6b64\u8fc7\u7a0b",(0,i.jsx)(n.code,{children:"\u4e25\u91cd\u4f9d\u8d56\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6"}),"\uff0c\u5426\u5219\u5c06\u9891\u7e41\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u548c\u65ad\u5f00\uff0c\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"npx react-native run-android"}),"\u53ea\u662f\u8fd0\u884c\u5e94\u7528\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002\u4f60\u4e5f\u53ef\u4ee5\u5728 Android Studio \u4e2d\u76f4\u63a5\u8fd0\u884c\u5e94\u7528\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u5efa\u8bae\u5728",(0,i.jsx)(n.code,{children:"run-android"}),"\u6210\u529f\u540e\u518d\u5c1d\u8bd5\u4f7f\u7528 Android Studio \u542f\u52a8\u3002\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u9047\u5230\u5947\u5947\u602a\u602a\u7684\u7ea2\u5c4f\u9519\u8bef\uff0c\u5148\u56de\u5934",(0,i.jsx)(n.code,{children:"\u4ed4\u7ec6\u5bf9\u7167\u6587\u6863\u68c0\u67e5"}),"\uff0c\u7136\u540e\u53ef\u4ee5\u770b\u770b",(0,i.jsx)(n.a,{href:"https://github.com/reactnativecn/react-native-website/issues",children:"\u95ee\u9898\u8ba8\u8bba\u533a"}),"\u3002\u4e0d\u540c\u65f6\u671f\u4e0d\u540c\u7248\u672c\u53ef\u80fd\u4f1a\u78b0\u5230\u4e0d\u540c\u7684\u95ee\u9898\uff0c\u6211\u4eec\u4f1a\u5728\u8bba\u575b\u4e2d\u53ca\u65f6\u89e3\u7b54\u66f4\u65b0\u3002\u4f46\u8bf7\u6ce8\u610f",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.em,{children:"\u5343\u4e07\u4e0d\u8981"})}),"\u6267\u884c bundle \u547d\u4ee4\uff0c\u90a3\u6837\u4f1a\u5bfc\u81f4\u4ee3\u7801\u5b8c\u5168\u65e0\u6cd5\u5237\u65b0\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4fee\u6539\u9879\u76ee",children:"\u4fee\u6539\u9879\u76ee"}),"\n",(0,i.jsx)(n.p,{children:"\u73b0\u5728\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u4e86\u9879\u76ee\uff0c\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u5c1d\u8bd5\u52a8\u624b\u6539\u4e00\u6539\u4e86\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u4f7f\u7528\u4f60\u559c\u6b22\u7684\u6587\u672c\u7f16\u8f91\u5668\u6253\u5f00",(0,i.jsx)(n.code,{children:"App.js"}),"\u5e76\u968f\u4fbf\u6539\u4e0a\u51e0\u884c"]}),"\n",(0,i.jsxs)(n.li,{children:["\u6309\u4e24\u4e0b R \u952e\uff0c\u6216\u662f\u5728\u5f00\u53d1\u8005\u83dc\u5355\u4e2d\u9009\u62e9 ",(0,i.jsx)(n.em,{children:"Reload"}),"\uff0c\u5c31\u53ef\u4ee5\u770b\u5230\u4f60\u7684\u6700\u65b0\u4fee\u6539\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5b8c\u6210\u4e86",children:"\u5b8c\u6210\u4e86\uff01"}),"\n",(0,i.jsx)(n.p,{children:"\u606d\u559c\uff01\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u5e76\u4fee\u6539\u4e86\u4f60\u7684\u7b2c\u4e00\u4e2a React Native \u5e94\u7528"}),"\n",(0,i.jsx)("center",{children:(0,i.jsx)("img",{src:"https://cdn.jsdelivr.net/gh/reactnativecn/react-native-website@gh-pages/docs/assets/GettingStartedCongratulations.png",width:"150"})}),"\n",(0,i.jsx)(n.h2,{id:"\u63a5\u4e0b\u6765",children:"\u63a5\u4e0b\u6765\uff1f"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u4ece\u5934\u5f00\u59cb\u5b66\u4e60 React Native \u5f00\u53d1\uff0c\u53ef\u4ee5\u4ece",(0,i.jsx)(n.a,{href:"/docs/environment-setup",children:"\u7b80\u4ecb"}),"\u6587\u6863\u5f00\u59cb\u3002"]})]})}function p(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(j,{...e})}):j(e)}const u=[{value:"\u5b89\u88c5\u4f9d\u8d56",id:"\u5b89\u88c5\u4f9d\u8d56",level:2},{value:"Node, JDK",id:"node-jdk",level:3},{value:"Yarn",id:"yarn",level:3},{value:"Android \u5f00\u53d1\u73af\u5883",id:"android-\u5f00\u53d1\u73af\u5883",level:3},{value:"1. \u5b89\u88c5 Android Studio",id:"1-\u5b89\u88c5-android-studio",level:4},{value:"2. \u5b89\u88c5 Android SDK",id:"2-\u5b89\u88c5-android-sdk",level:4},{value:"3. \u914d\u7f6e ANDROID_HOME \u73af\u5883\u53d8\u91cf",id:"3-\u914d\u7f6e-android_home-\u73af\u5883\u53d8\u91cf",level:4},{value:"4. \u628a\u5de5\u5177\u76ee\u5f55\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf Path",id:"4-\u628a\u5de5\u5177\u76ee\u5f55\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf-path",level:4},{value:"\u521b\u5efa\u65b0\u9879\u76ee",id:"\u521b\u5efa\u65b0\u9879\u76ee",level:2},...o.d$,{value:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",level:3},{value:"\u51c6\u5907 Android \u8bbe\u5907",id:"\u51c6\u5907-android-\u8bbe\u5907",level:2},{value:"\u4f7f\u7528 Android \u771f\u673a",id:"\u4f7f\u7528-android-\u771f\u673a",level:3},{value:"\u4f7f\u7528 Android \u6a21\u62df\u5668",id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",level:3},{value:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528",id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",level:2},{value:"\u4fee\u6539\u9879\u76ee",id:"\u4fee\u6539\u9879\u76ee",level:3},{value:"\u5b8c\u6210\u4e86\uff01",id:"\u5b8c\u6210\u4e86",level:3},{value:"\u63a5\u4e0b\u6765\uff1f",id:"\u63a5\u4e0b\u6765",level:2}];function v(e){const n={a:"a",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"\u5b89\u88c5\u4f9d\u8d56",children:"\u5b89\u88c5\u4f9d\u8d56"}),"\n",(0,i.jsx)(n.p,{children:"\u5fc5\u987b\u5b89\u88c5\u7684\u4f9d\u8d56\u6709\uff1aNode\u3001JDK \u548c Android Studio\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u867d\u7136\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u4efb\u4f55\u7f16\u8f91\u5668"}),"\u6765\u5f00\u53d1\u5e94\u7528\uff08\u7f16\u5199 js \u4ee3\u7801\uff09\uff0c\u4f46\u4f60\u4ecd\u7136\u5fc5\u987b\u5b89\u88c5 Android Studio \u6765\u83b7\u5f97\u7f16\u8bd1 Android \u5e94\u7528\u6240\u9700\u7684\u5de5\u5177\u548c\u73af\u5883\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"node-jdk",children:"Node, JDK"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u5efa\u8bae\u76f4\u63a5\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u641c\u7d22\u4e0b\u8f7d Node \u548c",(0,i.jsx)(n.a,{href:"https://www.oracle.com/java/technologies/downloads/#java17",children:"Java SE Development Kit (JDK)"})]}),"\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f Node \u7684\u7248\u672c\u5e94\u5927\u4e8e\u7b49\u4e8e 18\uff0c\u5b89\u88c5\u5b8c Node \u540e\u5efa\u8bae\u8bbe\u7f6e npm \u955c\u50cf\uff08\u6dd8\u5b9d\u6e90\uff09\u4ee5\u52a0\u901f\u540e\u9762\u7684\u8fc7\u7a0b\uff08\u6216\u4f7f\u7528\u79d1\u5b66\u4e0a\u7f51\u5de5\u5177\uff09\u3002"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u5f3a\u70c8\u5efa\u8bae\u59cb\u7ec8\u9009\u62e9 Node \u5f53\u524d\u7684 LTS \uff08\u957f\u671f\u7ef4\u62a4\uff09\u7248\u672c\uff0c\u4e00\u822c\u662f\u5076\u6570\u7248\u672c\uff0c\u4e0d\u8981\u9009\u62e9\u504f\u5b9e\u9a8c\u6027\u8d28\u7684\u5947\u6570\u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u4e0d\u8981\u4f7f\u7528 cnpm\uff01cnpm \u5b89\u88c5\u7684\u6a21\u5757\u8def\u5f84\u6bd4\u8f83\u5947\u602a\uff0cpackager \u4e0d\u80fd\u6b63\u5e38\u8bc6\u522b\uff01"}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["React Native \u9700\u8981 Java Development Kit [JDK] 17\u3002\u4f60\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u8f93\u5165\n",(0,i.jsx)(n.code,{children:"javac -version"}),"\uff08\u8bf7\u6ce8\u610f\u662f javac\uff0c\u4e0d\u662f java\uff09\u6765\u67e5\u770b\u4f60\u5f53\u524d\u5b89\u88c5\u7684 JDK \u7248\u672c\u3002\u5982\u679c\u7248\u672c\u4e0d\u5408\u8981\u6c42\uff0c\u5219\u53ef\u4ee5\u53bb",(0,i.jsx)(n.a,{href:"https://adoptium.net/?variant=openjdk17&jvmVariant=hotspot",children:"Temurin"}),"\u6216",(0,i.jsx)(n.a,{href:"https://www.oracle.com/java/technologies/downloads/#java17",children:"Oracle JDK"}),"\u4e0a\u4e0b\u8f7d(\u540e\u8005\u4e0b\u8f7d\u9700\u6ce8\u518c\u767b\u5f55)\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u4f4e\u4e8e 0.73 \u7248\u672c\u7684 React Native \u9700\u8981 JDK 11 \u7248\u672c\uff0c\u800c\u4f4e\u4e8e 0.67 \u7684\u9700\u8981 JDK 8 \u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"# \u4f7f\u7528nrm\u5de5\u5177\u5207\u6362\u6dd8\u5b9d\u6e90\nnpx nrm use taobao\n\n# \u5982\u679c\u4e4b\u540e\u9700\u8981\u5207\u6362\u56de\u5b98\u65b9\u6e90\u53ef\u4f7f\u7528\nnpx nrm use npm\n"})}),"\n",(0,i.jsx)(n.h3,{id:"yarn",children:"Yarn"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"http://yarnpkg.com",children:"Yarn"}),"\u662f Facebook \u63d0\u4f9b\u7684\u66ff\u4ee3 npm \u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u52a0\u901f node \u6a21\u5757\u7684\u4e0b\u8f7d\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm install -g yarn\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5\u5b8c yarn \u4e4b\u540e\u5c31\u53ef\u4ee5\u7528 yarn \u4ee3\u66ff npm \u4e86\uff0c\u4f8b\u5982\u7528",(0,i.jsx)(n.code,{children:"yarn"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install"}),"\u547d\u4ee4\uff0c\u7528",(0,i.jsx)(n.code,{children:"yarn add \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"android-\u5f00\u53d1\u73af\u5883",children:"Android \u5f00\u53d1\u73af\u5883"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u4e4b\u524d\u6ca1\u6709\u63a5\u89e6\u8fc7 Android \u7684\u5f00\u53d1\u73af\u5883\uff0c\u90a3\u4e48\u8bf7\u505a\u597d\u5fc3\u7406\u51c6\u5907\uff0c\u8fd9\u4e00\u8fc7\u7a0b\u76f8\u5f53\u7e41\u7410\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e07\u5206\u4ed4\u7ec6"}),"\u5730\u9605\u8bfb\u4e0b\u9762\u7684\u8bf4\u660e\uff0c\u4e25\u683c\u5bf9\u7167\u6587\u6863\u8fdb\u884c\u914d\u7f6e\u64cd\u4f5c\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u8bf7\u6ce8\u610f\uff01\uff01\uff01\u56fd\u5185\u7528\u6237",(0,i.jsx)(n.code,{children:"\u5fc5\u987b\u5fc5\u987b\u5fc5\u987b"}),"\u6709\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff0c\u5426\u5219\u5728\u4e0b\u8f7d\u3001\u5b89\u88c5\u3001\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u4f1a\u4e0d\u65ad\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u6216\u65ad\u5f00\uff0c\u65e0\u6cd5\u8fdb\u884c\u5f00\u53d1\u5de5\u4f5c\u3002\u67d0\u4e9b\u4ee3\u7406\u8f6f\u4ef6\u53ef\u80fd\u53ea\u63d0\u4f9b\u6d4f\u89c8\u5668\u7684\u4ee3\u7406\u529f\u80fd\uff0c\u6216\u53ea\u9488\u5bf9\u7279\u5b9a\u7f51\u7ad9\u4ee3\u7406\u7b49\u7b49\uff0c\u8bf7\u81ea\u884c\u7814\u7a76\u914d\u7f6e\u6216\u66f4\u6362\u5176\u4ed6\u8f6f\u4ef6\u3002\u603b\u4e4b\u5982\u679c\u62a5\u9519\u4e2d\u51fa\u73b0\u6709\u7f51\u5740\uff0c\u90a3\u5c31\u662f\u56e0\u4e3a\u94fe\u63a5\u6e90\u4ed3\u5e93\u7684\u7f51\u7edc\u94fe\u63a5\u88ab\u963b\u65ad\u4e86\uff0c\u8fd9\u4e00\u963b\u65ad\u73b0\u8c61\u53ef\u80fd\u56e0\u65f6\u95f4\u3001\u5730\u533a\u3001\u8fd0\u8425\u5546\u800c\u4e0d\u540c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u4e5f\u53ef\u4ee5\u5c1d\u8bd5\u53c2\u8003\u8fd9\u91cc\u7684\u505a\u6cd5",(0,i.jsx)(n.a,{href:"https://github.com/scwang90/SmartRefreshLayout/issues/1376#issuecomment-938422964",children:"\u8bbe\u7f6e\u963f\u91cc\u4e91\u7684 maven \u955c\u50cf\u6e90"}),"\uff0c\u4f46\u8fd9\u4e2a\u505a\u6cd5\u53ef\u80fd\u968f gradle \u6216\u8005 rn \u7248\u672c\u7684\u4e0d\u540c\u800c\u5931\u6548\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"1-\u5b89\u88c5-android-studio",children:"1. \u5b89\u88c5 Android Studio"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://developer.android.google.cn/studio/",children:"\u9996\u5148\u4e0b\u8f7d\u548c\u5b89\u88c5 Android Studio"}),'\uff0c\u56fd\u5185\u7528\u6237\u53ef\u80fd\u65e0\u6cd5\u6253\u5f00\u5b98\u65b9\u94fe\u63a5\uff0c\u8bf7\u81ea\u884c\u4f7f\u7528\u641c\u7d22\u5f15\u64ce\u641c\u7d22\u53ef\u7528\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002\u5b89\u88c5\u754c\u9762\u4e2d\u9009\u62e9"Custom"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86\u4ee5\u4e0b\u51e0\u9879\uff1a']}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android Virtual Device"})}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:'\u7136\u540e\u70b9\u51fb"Next"\u6765\u5b89\u88c5\u9009\u4e2d\u7684\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u9009\u62e9\u6846\u662f\u7070\u7684\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5148\u8df3\u8fc7\uff0c\u7a0d\u540e\u518d\u6765\u5b89\u88c5\u8fd9\u4e9b\u7ec4\u4ef6\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u770b\u5230\u6b22\u8fce\u754c\u9762\u65f6\uff0c\u5c31\u53ef\u4ee5\u8fdb\u884c\u4e0b\u9762\u7684\u64cd\u4f5c\u4e86\u3002"}),"\n",(0,i.jsx)(n.h4,{id:"2-\u5b89\u88c5-android-sdk",children:"2. \u5b89\u88c5 Android SDK"}),"\n",(0,i.jsxs)(n.p,{children:["Android Studio \u9ed8\u8ba4\u4f1a\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 Android SDK\u3002\u76ee\u524d\u7f16\u8bd1 React Native \u5e94\u7528\u9700\u8981\u7684\u662f",(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u7248\u672c\u7684 SDK\uff08\u6ce8\u610f SDK \u7248\u672c\u4e0d\u7b49\u4e8e\u7ec8\u7aef\u7cfb\u7edf\u7248\u672c\uff0cRN \u76ee\u524d\u652f\u6301 android 6 \u4ee5\u4e0a\u8bbe\u5907\uff09\u3002\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684 SDK Manager \u4e2d\u9009\u62e9\u5b89\u88c5\u5404\u7248\u672c\u7684 SDK\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684\u6b22\u8fce\u754c\u9762\u4e2d\u627e\u5230 SDK Manager\u3002\u70b9\u51fb"Configure"\uff0c\u7136\u540e\u5c31\u80fd\u770b\u5230"SDK Manager"\u3002'}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Android Studio Welcome",src:r(75601).Z+"",width:"786",height:"593"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:['SDK Manager \u8fd8\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u627e\u5230\u3002\u5177\u4f53\u8def\u5f84\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"}),"\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u5728 SDK Manager \u4e2d\u9009\u62e9"SDK Platforms"\u9009\u9879\u5361\uff0c\u7136\u540e\u5728\u53f3\u4e0b\u89d2\u52fe\u9009"Show Package Details"\u3002\u5c55\u5f00',(0,i.jsx)(n.code,{children:"Android 14 (UpsideDownCake)"}),"\u9009\u9879\uff0c\u786e\u4fdd\u52fe\u9009\u4e86\u4e0b\u9762\u8fd9\u4e9b\u7ec4\u4ef6\uff08\u5982\u679c\u4f60\u770b\u4e0d\u5230\u8fd9\u4e2a\u754c\u9762\uff0c\u5219\u9700\u8981\u4f7f\u7528\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6\uff09\uff1a"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"Android SDK Platform 34"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Intel x86 Atom_64 System Image"}),"\uff08\u5b98\u65b9\u6a21\u62df\u5668\u955c\u50cf\u6587\u4ef6\uff0c\u4f7f\u7528\u975e\u5b98\u65b9\u6a21\u62df\u5668\u4e0d\u9700\u8981\u5b89\u88c5\u6b64\u7ec4\u4ef6\uff09"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:['\u7136\u540e\u70b9\u51fb"SDK Tools"\u9009\u9879\u5361\uff0c\u540c\u6837\u52fe\u4e2d\u53f3\u4e0b\u89d2\u7684"Show Package Details"\u3002\u5c55\u5f00"Android SDK Build-Tools"\u9009\u9879\uff0c\u786e\u4fdd\u9009\u4e2d\u4e86 React Native \u6240\u5fc5\u987b\u7684',(0,i.jsx)(n.code,{children:"34.0.0"}),"\u7248\u672c\u3002\u4f60\u53ef\u4ee5\u540c\u65f6\u5b89\u88c5\u591a\u4e2a\u5176\u4ed6\u7248\u672c\u3002"]}),"\n",(0,i.jsx)(n.p,{children:'\u6700\u540e\u70b9\u51fb"Apply"\u6765\u4e0b\u8f7d\u548c\u5b89\u88c5\u8fd9\u4e9b\u7ec4\u4ef6\u3002'}),"\n",(0,i.jsx)(n.h4,{id:"3-\u914d\u7f6e-android_home-\u73af\u5883\u53d8\u91cf",children:"3. \u914d\u7f6e ANDROID_HOME \u73af\u5883\u53d8\u91cf"}),"\n",(0,i.jsx)(n.p,{children:"React Native \u9700\u8981\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6765\u4e86\u89e3\u4f60\u7684 Android SDK \u88c5\u5728\u4ec0\u4e48\u8def\u5f84\uff0c\u4ece\u800c\u6b63\u5e38\u8fdb\u884c\u7f16\u8bd1\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u6253\u5f00",(0,i.jsx)(n.code,{children:"\u63a7\u5236\u9762\u677f"})," -> ",(0,i.jsx)(n.code,{children:"\u7cfb\u7edf\u548c\u5b89\u5168"})," -> ",(0,i.jsx)(n.code,{children:"\u7cfb\u7edf"})," -> ",(0,i.jsx)(n.code,{children:"\u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e"})," -> ",(0,i.jsx)(n.code,{children:"\u9ad8\u7ea7"})," -> ",(0,i.jsx)(n.code,{children:"\u73af\u5883\u53d8\u91cf"})," -> ",(0,i.jsx)(n.code,{children:"\u65b0\u5efa"}),"\uff0c\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a",(0,i.jsx)(n.code,{children:"ANDROID_HOME"}),"\u7684\u73af\u5883\u53d8\u91cf\uff08\u7cfb\u7edf\u6216\u7528\u6237\u53d8\u91cf\u5747\u53ef\uff09\uff0c\u6307\u5411\u4f60\u7684 Android SDK \u6240\u5728\u7684\u76ee\u5f55\uff08\u5177\u4f53\u7684\u8def\u5f84\u53ef\u80fd\u548c\u4e0b\u56fe\u4e0d\u4e00\u81f4\uff0c\u8bf7\u81ea\u884c\u786e\u8ba4\uff09\uff1a"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"ANDROID_HOME Environment Variable",src:r(51631).Z+"",width:"653",height:"165"})}),"\n",(0,i.jsx)(n.p,{children:"SDK \u9ed8\u8ba4\u662f\u5b89\u88c5\u5728\u4e0b\u9762\u7684\u76ee\u5f55\uff1a"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-powershell",children:"C:\\Users\\\u4f60\u7684\u7528\u6237\u540d\\AppData\\Local\\Android\\Sdk\n"})}),"\n",(0,i.jsxs)(n.p,{children:['\u4f60\u53ef\u4ee5\u5728 Android Studio \u7684"Preferences"\u83dc\u5355\u4e2d\u67e5\u770b SDK \u7684\u771f\u5b9e\u8def\u5f84\uff0c\u5177\u4f53\u662f',(0,i.jsx)(n.strong,{children:"Appearance & Behavior"})," \u2192 ",(0,i.jsx)(n.strong,{children:"System Settings"})," \u2192 ",(0,i.jsx)(n.strong,{children:"Android SDK"}),"\u3002"]}),"\n",(0,i.jsx)(n.p,{children:"\u4f60\u9700\u8981\u5173\u95ed\u73b0\u6709\u7684\u547d\u4ee4\u7b26\u63d0\u793a\u7a97\u53e3\u7136\u540e\u91cd\u65b0\u6253\u5f00\uff0c\u8fd9\u6837\u65b0\u7684\u73af\u5883\u53d8\u91cf\u624d\u80fd\u751f\u6548\u3002"}),"\n",(0,i.jsx)(n.h4,{id:"4-\u628a\u5de5\u5177\u76ee\u5f55\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf-path",children:"4. \u628a\u5de5\u5177\u76ee\u5f55\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf Path"}),"\n",(0,i.jsxs)(n.p,{children:["\u6253\u5f00",(0,i.jsx)(n.code,{children:"\u63a7\u5236\u9762\u677f"})," -> ",(0,i.jsx)(n.code,{children:"\u7cfb\u7edf\u548c\u5b89\u5168"})," -> ",(0,i.jsx)(n.code,{children:"\u7cfb\u7edf"})," -> ",(0,i.jsx)(n.code,{children:"\u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e"})," -> ",(0,i.jsx)(n.code,{children:"\u9ad8\u7ea7"})," -> ",(0,i.jsx)(n.code,{children:"\u73af\u5883\u53d8\u91cf"}),"\uff0c\u9009\u4e2d",(0,i.jsx)(n.strong,{children:"Path"}),"\u53d8\u91cf\uff0c\u7136\u540e\u70b9\u51fb",(0,i.jsx)(n.strong,{children:"\u7f16\u8f91"}),"\u3002\u70b9\u51fb",(0,i.jsx)(n.strong,{children:"\u65b0\u5efa"}),"\u7136\u540e\u628a\u4ee5\u4e0b\u5de5\u5177\u76ee\u5f55\u8def\u5f84\u6dfb\u52a0\u8fdb\u53bb\uff1aplatform-tools"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-powershell",children:"%ANDROID_HOME%\\platform-tools\n"})}),"\n",(0,i.jsx)(n.h2,{id:"\u521b\u5efa\u65b0\u9879\u76ee",children:"\u521b\u5efa\u65b0\u9879\u76ee"}),"\n",(0,i.jsx)(o.ZP,{}),"\n",(0,i.jsxs)(n.p,{children:['\u4f7f\u7528 React Native \u5185\u5efa\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a"AwesomeProject"\u7684\u65b0\u9879\u76ee\u3002\u8fd9\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\u4e0d\u9700\u8981\u5b89\u88c5\uff0c\u53ef\u4ee5\u76f4\u63a5\u7528 node \u81ea\u5e26\u7684',(0,i.jsx)(n.code,{children:"npx"}),"\u547d\u4ee4\u6765\u4f7f\u7528\uff1a"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u5fc5\u987b\u8981\u770b\u7684\u6ce8\u610f\u4e8b\u9879\u4e00"}),"\uff1a\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5728\u76ee\u5f55\u3001\u6587\u4ef6\u540d\u4e2d\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u4e2d\u6587\u3001\u7a7a\u683c"}),"\u7b49\u7279\u6b8a\u7b26\u53f7\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5355\u72ec\u4f7f\u7528\u5e38\u89c1\u7684\u5173\u952e\u5b57\u4f5c\u4e3a\u9879\u76ee\u540d\uff08\u5982 class, native, new, package \u7b49\u7b49\uff09\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u4f7f\u7528\u4e0e\u6838\u5fc3\u6a21\u5757\u540c\u540d\u7684\u9879\u76ee\u540d\uff08\u5982 react, react-native \u7b49\uff09\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u5fc5\u987b\u8981\u770b\u7684\u6ce8\u610f\u4e8b\u9879\u4e8c"}),"\uff1a\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5728\u67d0\u4e9b\u6743\u9650\u654f\u611f\u7684\u76ee\u5f55\u4f8b\u5982 System32 \u76ee\u5f55\u4e2d init \u9879\u76ee\uff01\u4f1a\u6709\u5404\u79cd\u6743\u9650\u9650\u5236\u5bfc\u81f4\u4e0d\u80fd\u8fd0\u884c\uff01"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u5fc5\u987b\u8981\u770b\u7684\u6ce8\u610f\u4e8b\u9879\u4e09"}),"\uff1a\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u4f7f\u7528\u4e00\u4e9b\u79fb\u690d\u7684\u7ec8\u7aef\u73af\u5883\uff0c\u4f8b\u5982",(0,i.jsx)(n.code,{children:"git bash"}),"\u6216",(0,i.jsx)(n.code,{children:"mingw"}),"\u7b49\u7b49\uff0c\u8fd9\u4e9b\u5728 windows \u4e0b\u53ef\u80fd\u5bfc\u81f4\u627e\u4e0d\u5230\u73af\u5883\u53d8\u91cf\u3002\u8bf7\u4f7f\u7528\u7cfb\u7edf\u81ea\u5e26\u7684\u547d\u4ee4\u884c\uff08CMD \u6216 powershell\uff09\u8fd0\u884c\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/clilatest init AwesomeProject\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u662f\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u6b65\u9aa4\u5b8c\u5168\u4e0d\u540c\uff0c\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",children:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--version"}),"\u53c2\u6570\uff08\u6ce8\u610f\u662f",(0,i.jsx)(n.code,{children:"\u4e24"}),"\u4e2a\u6760\uff09\u521b\u5efa\u6307\u5b9a\u7248\u672c\u7684\u9879\u76ee\u3002\u6ce8\u610f\u7248\u672c\u53f7\u5fc5\u987b\u7cbe\u786e\u5230\u4e24\u4e2a\u5c0f\u6570\u70b9\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cliX.XX.X init AwesomeProject --version X.XX.X\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u8fd8\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--template"}),"\u6765\u4f7f\u7528\u4e00\u4e9b\u793e\u533a\u63d0\u4f9b\u7684\u6a21\u677f\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u51c6\u5907-android-\u8bbe\u5907",children:"\u51c6\u5907 Android \u8bbe\u5907"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u9700\u8981\u51c6\u5907\u4e00\u53f0 Android \u8bbe\u5907\u6765\u8fd0\u884c React Native Android \u5e94\u7528\u3002\u8fd9\u91cc\u6240\u6307\u7684\u8bbe\u5907\u65e2\u53ef\u4ee5\u662f\u771f\u673a\uff0c\u4e5f\u53ef\u4ee5\u662f\u6a21\u62df\u5668\u3002\u540e\u9762\u6211\u4eec\u6240\u6709\u7684\u6587\u6863\u9664\u975e\u7279\u522b\u8bf4\u660e\uff0c\u5e76\u4e0d\u533a\u5206\u771f\u673a\u6216\u8005\u6a21\u62df\u5668\u3002Android \u5b98\u65b9\u63d0\u4f9b\u4e86\u540d\u4e3a Android Virtual Device\uff08\u7b80\u79f0 AVD\uff09\u7684\u6a21\u62df\u5668\u3002\u6b64\u5916\u8fd8\u6709\u5f88\u591a\u7b2c\u4e09\u65b9\u63d0\u4f9b\u7684\u6a21\u62df\u5668\u5982",(0,i.jsx)(n.a,{href:"https://www.genymotion.com/download",children:"Genymotion"}),"\u3001BlueStack \u7b49\u3002\u4e00\u822c\u6765\u8bf4\u5b98\u65b9\u6a21\u62df\u5668\u514d\u8d39\u3001\u529f\u80fd\u5b8c\u6574\uff0c\u4f46\u6027\u80fd\u8f83\u5dee\u3002\u7b2c\u4e09\u65b9\u6a21\u62df\u5668\u6027\u80fd\u8f83\u597d\uff0c\u4f46\u53ef\u80fd\u9700\u8981\u4ed8\u8d39\uff0c\u6216\u5e26\u6709\u5e7f\u544a\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u771f\u673a",children:"\u4f7f\u7528 Android \u771f\u673a"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 Android \u771f\u673a\u6765\u4ee3\u66ff\u6a21\u62df\u5668\u8fdb\u884c\u5f00\u53d1\uff0c\u53ea\u9700\u7528 usb \u6570\u636e\u7ebf\u8fde\u63a5\u5230\u7535\u8111\uff0c\u7136\u540e\u9075\u7167",(0,i.jsx)(n.a,{href:"/docs/running-on-device",children:"\u5728\u8bbe\u5907\u4e0a\u8fd0\u884c"}),"\u8fd9\u7bc7\u6587\u6863\u7684\u8bf4\u660e\u64cd\u4f5c\u5373\u53ef\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4f7f\u7528-android-\u6a21\u62df\u5668",children:"\u4f7f\u7528 Android \u6a21\u62df\u5668"}),"\n",(0,i.jsx)(n.p,{children:'\u4f60\u53ef\u4ee5\u4f7f\u7528 Android Studio \u6253\u5f00\u9879\u76ee\u4e0b\u7684"android"\u76ee\u5f55\uff0c\u7136\u540e\u53ef\u4ee5\u4f7f\u7528"AVD Manager"\u6765\u67e5\u770b\u53ef\u7528\u7684\u865a\u62df\u8bbe\u5907\uff0c\u5b83\u7684\u56fe\u6807\u770b\u8d77\u6765\u50cf\u4e0b\u9762\u8fd9\u6837\uff1a'}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Android Studio AVD Manager",src:r(13488).Z+"",width:"29",height:"25"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u521a\u521a\u624d\u5b89\u88c5 Android Studio\uff0c\u90a3\u4e48\u53ef\u80fd\u9700\u8981\u5148",(0,i.jsx)(n.a,{href:"https://developer.android.com/studio/run/managing-avds.html",children:"\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u8bbe\u5907"}),'\u3002\u70b9\u51fb"Create Virtual Device..."\uff0c\u7136\u540e\u9009\u62e9\u6240\u9700\u7684\u8bbe\u5907\u7c7b\u578b\u5e76\u70b9\u51fb"Next"\uff0c\u7136\u540e\u9009\u62e9',(0,i.jsx)(n.strong,{children:"Tiramisu"})," API Level 33 image."]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u8bd1\u6ce8\uff1a\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",children:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528"}),"\n",(0,i.jsxs)(n.p,{children:["\u786e\u4fdd\u4f60\u5148\u8fd0\u884c\u4e86\u6a21\u62df\u5668\u6216\u8005\u8fde\u63a5\u4e86\u771f\u673a\uff0c\u7136\u540e\u5728\u4f60\u7684\u9879\u76ee\u76ee\u5f55\u4e2d\u8fd0\u884c",(0,i.jsx)(n.code,{children:"yarn android"}),"\u6216\u8005",(0,i.jsx)(n.code,{children:"yarn react-native run-android"}),"\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"cd AwesomeProject\nyarn android\n# \u6216\u8005\nyarn react-native run-android\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u6b64\u547d\u4ee4\u4f1a\u5bf9\u9879\u76ee\u7684\u539f\u751f\u90e8\u5206\u8fdb\u884c\u7f16\u8bd1\uff0c\u540c\u65f6\u5728\u53e6\u5916\u4e00\u4e2a\u547d\u4ee4\u884c\u4e2d\u542f\u52a8",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u5bf9 js \u4ee3\u7801\u8fdb\u884c\u5b9e\u65f6\u6253\u5305\u5904\u7406\uff08\u7c7b\u4f3c webpack\uff09\u3002",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u4e5f\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"yarn start"}),"\u547d\u4ee4\u5355\u72ec\u542f\u52a8\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u914d\u7f6e\u6ca1\u6709\u95ee\u9898\uff0c\u4f60\u5e94\u8be5\u53ef\u4ee5\u770b\u5230\u5e94\u7528\u81ea\u52a8\u5b89\u88c5\u5230\u8bbe\u5907\u4e0a\u5e76\u5f00\u59cb\u8fd0\u884c\u3002\u6ce8\u610f\u7b2c\u4e00\u6b21\u8fd0\u884c\u65f6\u9700\u8981\u4e0b\u8f7d\u5927\u91cf\u7f16\u8bd1\u4f9d\u8d56\uff0c\u8017\u65f6\u53ef\u80fd\u6570\u5341\u5206\u949f\u3002\u6b64\u8fc7\u7a0b",(0,i.jsx)(n.code,{children:"\u4e25\u91cd\u4f9d\u8d56\u7a33\u5b9a\u7684\u4ee3\u7406\u8f6f\u4ef6"}),"\uff0c\u5426\u5219\u5c06\u9891\u7e41\u906d\u9047\u94fe\u63a5\u8d85\u65f6\u548c\u65ad\u5f00\uff0c\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"npx react-native run-android"}),"\u53ea\u662f\u8fd0\u884c\u5e94\u7528\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002\u4f60\u4e5f\u53ef\u4ee5\u5728 Android Studio \u4e2d\u76f4\u63a5\u8fd0\u884c\u5e94\u7528\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u8bd1\u6ce8\uff1a\u5efa\u8bae\u5728",(0,i.jsx)(n.code,{children:"run-android"}),"\u6210\u529f\u540e\u518d\u5c1d\u8bd5\u4f7f\u7528 Android Studio \u542f\u52a8\u3002\u8bf7\u4e0d\u8981\u8f7b\u6613\u70b9\u51fb Android Studio \u4e2d\u53ef\u80fd\u5f39\u51fa\u7684\u5efa\u8bae\u66f4\u65b0\u9879\u76ee\u4e2d\u67d0\u4f9d\u8d56\u9879\u7684\u5efa\u8bae\uff0c\u5426\u5219\u53ef\u80fd\u5bfc\u81f4\u65e0\u6cd5\u8fd0\u884c\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u9047\u5230\u5947\u5947\u602a\u602a\u7684\u7ea2\u5c4f\u9519\u8bef\uff0c\u5148\u56de\u5934",(0,i.jsx)(n.code,{children:"\u4ed4\u7ec6\u5bf9\u7167\u6587\u6863\u68c0\u67e5"}),"\uff0c\u7136\u540e\u53ef\u4ee5\u770b\u770b",(0,i.jsx)(n.a,{href:"https://github.com/reactnativecn/react-native-website/issues",children:"\u95ee\u9898\u8ba8\u8bba\u533a"}),"\u3002\u4e0d\u540c\u65f6\u671f\u4e0d\u540c\u7248\u672c\u53ef\u80fd\u4f1a\u78b0\u5230\u4e0d\u540c\u7684\u95ee\u9898\uff0c\u6211\u4eec\u4f1a\u5728\u8bba\u575b\u4e2d\u53ca\u65f6\u89e3\u7b54\u66f4\u65b0\u3002\u4f46\u8bf7\u6ce8\u610f",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.em,{children:"\u5343\u4e07\u4e0d\u8981"})}),"\u6267\u884c bundle \u547d\u4ee4\uff0c\u90a3\u6837\u4f1a\u5bfc\u81f4\u4ee3\u7801\u5b8c\u5168\u65e0\u6cd5\u5237\u65b0\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4fee\u6539\u9879\u76ee",children:"\u4fee\u6539\u9879\u76ee"}),"\n",(0,i.jsx)(n.p,{children:"\u73b0\u5728\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u4e86\u9879\u76ee\uff0c\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u5c1d\u8bd5\u52a8\u624b\u6539\u4e00\u6539\u4e86\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u4f7f\u7528\u4f60\u559c\u6b22\u7684\u6587\u672c\u7f16\u8f91\u5668\u6253\u5f00",(0,i.jsx)(n.code,{children:"App.js"}),"\u5e76\u968f\u4fbf\u6539\u4e0a\u51e0\u884c"]}),"\n",(0,i.jsxs)(n.li,{children:["\u6309\u4e24\u4e0b R \u952e\uff0c\u6216\u662f\u5728\u5f00\u53d1\u8005\u83dc\u5355\u4e2d\u9009\u62e9 ",(0,i.jsx)(n.em,{children:"Reload"}),"\uff0c\u5c31\u53ef\u4ee5\u770b\u5230\u4f60\u7684\u6700\u65b0\u4fee\u6539\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5b8c\u6210\u4e86",children:"\u5b8c\u6210\u4e86\uff01"}),"\n",(0,i.jsx)(n.p,{children:"\u606d\u559c\uff01\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u5e76\u4fee\u6539\u4e86\u4f60\u7684\u7b2c\u4e00\u4e2a React Native \u5e94\u7528"}),"\n",(0,i.jsx)("center",{children:(0,i.jsx)("img",{src:"https://cdn.jsdelivr.net/gh/reactnativecn/react-native-website@gh-pages/docs/assets/GettingStartedCongratulations.png",width:"150"})}),"\n",(0,i.jsx)(n.h2,{id:"\u63a5\u4e0b\u6765",children:"\u63a5\u4e0b\u6765\uff1f"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u4ece\u5934\u5f00\u59cb\u5b66\u4e60 React Native \u5f00\u53d1\uff0c\u53ef\u4ee5\u4ece",(0,i.jsx)(n.a,{href:"/docs/environment-setup",children:"\u7b80\u4ecb"}),"\u6587\u6863\u5f00\u59cb\u3002"]})]})}function m(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(v,{...e})}):v(e)}const g=[{value:"\u5b89\u88c5\u4f9d\u8d56",id:"\u5b89\u88c5\u4f9d\u8d56",level:2},{value:"Node & Watchman",id:"node--watchman",level:3},{value:"Yarn",id:"yarn",level:3},{value:"Xcode",id:"xcode",level:3},{value:"Xcode \u7684\u547d\u4ee4\u884c\u5de5\u5177",id:"xcode-\u7684\u547d\u4ee4\u884c\u5de5\u5177",level:4},{value:"\u5728 Xcode \u4e2d\u5b89\u88c5 iOS \u6a21\u62df\u5668",id:"\u5728-xcode-\u4e2d\u5b89\u88c5-ios-\u6a21\u62df\u5668",level:4},{value:"CocoaPods",id:"cocoapods",level:4},{value:"\u521b\u5efa\u65b0\u9879\u76ee",id:"\u521b\u5efa\u65b0\u9879\u76ee",level:2},...o.d$,{value:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",level:3},{value:"[\u53ef\u9009\u6587\u4ef6] Xcode \u7684\u73af\u5883\u914d\u7f6e\u6587\u4ef6",id:"\u53ef\u9009\u6587\u4ef6-xcode-\u7684\u73af\u5883\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528",id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",level:2},{value:"\u5728\u771f\u673a\u4e0a\u8fd0\u884c",id:"\u5728\u771f\u673a\u4e0a\u8fd0\u884c",level:3},{value:"\u4fee\u6539\u9879\u76ee",id:"\u4fee\u6539\u9879\u76ee",level:3},{value:"\u5b8c\u6210\u4e86\uff01",id:"\u5b8c\u6210\u4e86",level:3},{value:"\u63a5\u4e0b\u6765\uff1f",id:"\u63a5\u4e0b\u6765",level:2}];function A(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"\u5b89\u88c5\u4f9d\u8d56",children:"\u5b89\u88c5\u4f9d\u8d56"}),"\n",(0,i.jsx)(n.p,{children:"\u5fc5\u987b\u5b89\u88c5\u7684\u4f9d\u8d56\u6709\uff1aNode\u3001Watchman\u3001Xcode \u548c CocoaPods\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u867d\u7136\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u4efb\u4f55\u7f16\u8f91\u5668"}),"\u6765\u5f00\u53d1\u5e94\u7528\uff08\u7f16\u5199 js \u4ee3\u7801\uff09\uff0c\u4f46\u4f60\u4ecd\u7136\u5fc5\u987b\u5b89\u88c5 Xcode \u6765\u83b7\u5f97\u7f16\u8bd1 iOS \u5e94\u7528\u6240\u9700\u7684\u5de5\u5177\u548c\u73af\u5883\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"node--watchman",children:"Node & Watchman"}),"\n",(0,i.jsxs)(n.p,{children:["\u6211\u4eec\u63a8\u8350\u4f7f\u7528",(0,i.jsx)(n.a,{href:"http://brew.sh/",children:"Homebrew"}),"\u6765\u5b89\u88c5 Node \u548c Watchman\u3002\u5728\u547d\u4ee4\u884c\u4e2d\u6267\u884c\u4e0b\u5217\u547d\u4ee4\u5b89\u88c5\uff08\u5982\u5b89\u88c5\u8f83\u6162\u53ef\u4ee5\u5c1d\u8bd5\u963f\u91cc\u4e91\u7684",(0,i.jsx)(n.a,{href:"https://developer.aliyun.com/mirror/homebrew",children:"\u955c\u50cf\u6e90"}),"\uff09\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"brew install node@18\nbrew install watchman\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u5982\u679c\u4f60\u5df2\u7ecf\u5b89\u88c5\u4e86 Node\uff0c\u8bf7\u68c0\u67e5\u5176\u7248\u672c\u662f\u5426\u5728 18 \u4ee5\u4e0a\u3002\u5b89\u88c5\u5b8c Node \u540e\u5efa\u8bae\u8bbe\u7f6e npm \u955c\u50cf\uff08\u6dd8\u5b9d\u6e90\uff09\u4ee5\u52a0\u901f\u540e\u9762\u7684\u8fc7\u7a0b\uff08\u6216\u4f7f\u7528\u79d1\u5b66\u4e0a\u7f51\u5de5\u5177\uff09\u3002"}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u5f3a\u70c8\u5efa\u8bae\u59cb\u7ec8\u9009\u62e9 Node \u5f53\u524d\u7684 LTS \uff08\u957f\u671f\u7ef4\u62a4\uff09\u7248\u672c\uff0c\u4e00\u822c\u662f\u5076\u6570\u7248\u672c\uff0c\u4e0d\u8981\u9009\u62e9\u504f\u5b9e\u9a8c\u6027\u8d28\u7684\u5947\u6570\u7248\u672c\u3002"}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u6ce8\u610f\uff1a\u4e0d\u8981\u4f7f\u7528 cnpm\uff01cnpm \u5b89\u88c5\u7684\u6a21\u5757\u8def\u5f84\u6bd4\u8f83\u5947\u602a\uff0cpackager \u4e0d\u80fd\u6b63\u5e38\u8bc6\u522b\uff01"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"# \u4f7f\u7528nrm\u5de5\u5177\u5207\u6362\u6dd8\u5b9d\u6e90\nnpx nrm use taobao\n\n# \u5982\u679c\u4e4b\u540e\u9700\u8981\u5207\u6362\u56de\u5b98\u65b9\u6e90\u53ef\u4f7f\u7528\nnpx nrm use npm\n"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://facebook.github.io/watchman",children:"Watchman"}),"\u5219\u662f\u7531 Facebook \u63d0\u4f9b\u7684\u76d1\u89c6\u6587\u4ef6\u7cfb\u7edf\u53d8\u66f4\u7684\u5de5\u5177\u3002\u5b89\u88c5\u6b64\u5de5\u5177\u53ef\u4ee5\u63d0\u9ad8\u5f00\u53d1\u65f6\u7684\u6027\u80fd\uff08packager \u53ef\u4ee5\u5feb\u901f\u6355\u6349\u6587\u4ef6\u7684\u53d8\u5316\u4ece\u800c\u5b9e\u73b0\u5b9e\u65f6\u5237\u65b0\uff09\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"yarn",children:"Yarn"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://classic.yarnpkg.com",children:"Yarn"}),"\u662f Facebook \u63d0\u4f9b\u7684\u66ff\u4ee3 npm \u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u52a0\u901f node \u6a21\u5757\u7684\u4e0b\u8f7d\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm install -g yarn\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5\u5b8c yarn \u4e4b\u540e\u5c31\u53ef\u4ee5\u7528 yarn \u4ee3\u66ff npm \u4e86\uff0c\u4f8b\u5982\u7528",(0,i.jsx)(n.code,{children:"yarn"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install"}),"\u547d\u4ee4\uff0c\u7528",(0,i.jsx)(n.code,{children:"yarn add \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u4ee3\u66ff",(0,i.jsx)(n.code,{children:"npm install \u67d0\u7b2c\u4e09\u65b9\u5e93\u540d"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"xcode",children:"Xcode"}),"\n",(0,i.jsxs)(n.p,{children:["React Native \u76ee\u524d\u9700\u8981",(0,i.jsx)(n.a,{href:"https://developer.apple.com/xcode/downloads/",children:"Xcode"})," 14.1 \u6216\u66f4\u9ad8\u7248\u672c\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7 App Store \u6216\u662f\u5230",(0,i.jsx)(n.a,{href:"https://developer.apple.com/xcode/downloads/",children:"Apple \u5f00\u53d1\u8005\u5b98\u7f51"}),"\u4e0a\u4e0b\u8f7d\u3002\u8fd9\u4e00\u6b65\u9aa4\u4f1a\u540c\u65f6\u5b89\u88c5 Xcode IDE\u3001Xcode \u7684\u547d\u4ee4\u884c\u5de5\u5177\u548c iOS \u6a21\u62df\u5668\u3002"]}),"\n",(0,i.jsx)(n.h4,{id:"xcode-\u7684\u547d\u4ee4\u884c\u5de5\u5177",children:"Xcode \u7684\u547d\u4ee4\u884c\u5de5\u5177"}),"\n",(0,i.jsxs)(n.p,{children:["\u542f\u52a8 Xcode\uff0c\u5e76\u5728",(0,i.jsx)(n.code,{children:"Xcode | Preferences | Locations"}),"\u83dc\u5355\u4e2d\u68c0\u67e5\u4e00\u4e0b\u662f\u5426\u88c5\u6709\u67d0\u4e2a\u7248\u672c\u7684",(0,i.jsx)(n.code,{children:"Command Line Tools"}),"\u3002Xcode \u7684\u547d\u4ee4\u884c\u5de5\u5177\u4e2d\u5305\u542b\u4e00\u4e9b\u5fc5\u987b\u7684\u5de5\u5177\uff0c\u6bd4\u5982",(0,i.jsx)(n.code,{children:"git"}),"\u7b49\u3002"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Xcode Command Line Tools",src:r(78656).Z+"",width:"1724",height:"1158"})}),"\n",(0,i.jsx)(n.h4,{id:"\u5728-xcode-\u4e2d\u5b89\u88c5-ios-\u6a21\u62df\u5668",children:"\u5728 Xcode \u4e2d\u5b89\u88c5 iOS \u6a21\u62df\u5668"}),"\n",(0,i.jsxs)(n.p,{children:["\u5b89\u88c5\u6a21\u62df\u5668\u53ea\u9700\u6253\u5f00 ",(0,i.jsx)("strong",{children:"Xcode > Preferences..."})," \u83dc\u5355\uff0c\u7136\u540e\u9009\u62e9 ",(0,i.jsx)("strong",{children:"Components"})," \u9009\u9879\uff0c\u5373\u53ef\u770b\u5230\u5404\u79cd\u53ef\u4f9b\u5b89\u88c5\u7684\u4e0d\u540c\u7684 iOS \u7248\u672c\u7684\u6a21\u62df\u5668\u3002"]}),"\n",(0,i.jsx)(n.h4,{id:"cocoapods",children:"CocoaPods"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://cocoapods.org/",children:"CocoaPods"}),"\u662f\u7528 Ruby \u7f16\u5199\u7684\u5305\u7ba1\u7406\u5668\uff08\u53ef\u4ee5\u7406\u89e3\u4e3a\u9488\u5bf9 iOS \u7684 npm\uff09\u3002\u4ece 0.60 \u7248\u672c\u5f00\u59cb react native \u7684 iOS \u7248\u672c\u9700\u8981\u4f7f\u7528 CocoaPods \u6765\u7ba1\u7406\u4f9d\u8d56\u3002\u4f60\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u5b89\u88c5 CocoaPods\u3002CocoaPods \u7684\u7248\u672c\u9700\u8981 1.10 \u4ee5\u4e0a\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u5f53\u7136\u5b89\u88c5\u53ef\u80fd\u4e5f\u4e0d\u987a\u5229\uff0c\u8bf7\u4f7f\u7528\u4ee3\u7406\u8f6f\u4ef6\u3002"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-sh",children:"sudo gem install cocoapods\n"})}),"\n",(0,i.jsx)(n.p,{children:"\u6216\u8005\u53ef\u4ee5\u4f7f\u7528 brew \u6765\u5b89\u88c5"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-sh",children:"brew install cocoapods\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u8981\u4e86\u89e3\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u4ee5\u8bbf\u95ee",(0,i.jsx)(n.a,{href:"https://guides.cocoapods.org/using/getting-started.html",children:"CocoaPods \u7684\u5b98\u7f51"}),"\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u521b\u5efa\u65b0\u9879\u76ee",children:"\u521b\u5efa\u65b0\u9879\u76ee"}),"\n",(0,i.jsx)(o.ZP,{}),"\n",(0,i.jsxs)(n.p,{children:['\u4f7f\u7528 React Native \u5185\u5efa\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a"AwesomeProject"\u7684\u65b0\u9879\u76ee\u3002\u8fd9\u4e2a\u547d\u4ee4\u884c\u5de5\u5177\u4e0d\u9700\u8981\u5b89\u88c5\uff0c\u53ef\u4ee5\u76f4\u63a5\u7528 node \u81ea\u5e26\u7684',(0,i.jsx)(n.code,{children:"npx"}),"\u547d\u4ee4\u6765\u4f7f\u7528\uff08\u6ce8\u610f init \u547d\u4ee4\u9ed8\u8ba4\u4f1a\u521b\u5efa\u6700\u65b0\u7684\u7248\u672c\uff09\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/clilatest init AwesomeProject\n"})}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u6ce8\u610f\u4e00"}),"\uff1a\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5728\u76ee\u5f55\u3001\u6587\u4ef6\u540d\u4e2d\u4f7f\u7528\u4e2d\u6587\u3001\u7a7a\u683c\u7b49\u7279\u6b8a\u7b26\u53f7\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u5355\u72ec\u4f7f\u7528\u5e38\u89c1\u7684\u5173\u952e\u5b57\u4f5c\u4e3a\u9879\u76ee\u540d\uff08\u5982 class, native, new, package \u7b49\u7b49\uff09\u3002\u8bf7",(0,i.jsx)(n.code,{children:"\u4e0d\u8981"}),"\u4f7f\u7528\u4e0e\u6838\u5fc3\u6a21\u5757\u540c\u540d\u7684\u9879\u76ee\u540d\uff08\u5982 react, react-native \u7b49\uff09\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.strong,{children:"\u6ce8\u610f\u4e8c"}),"\uff1a0.60 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684\u539f\u751f\u4f9d\u8d56\u662f\u901a\u8fc7 CocoaPods \u96c6\u6210\u5b89\u88c5\u7684\u3002CocoaPods \u7684\u6e90\u5fc5\u987b\u4f7f\u7528\u4ee3\u7406\u8bbf\u95ee\uff08\u955c\u50cf\u6e90\u4e5f\u65e0\u6548\uff09\u3002\u5982\u679c\u5728 CocoaPods \u7684\u4f9d\u8d56\u5b89\u88c5\u6b65\u9aa4\u5361\u4f4f\uff08\u547d\u4ee4\u884c\u505c\u5728 Installing CocoaPods dependencies \u5f88\u4e45\uff0c\u6216\u5404\u79cd\u7f51\u7edc\u8d85\u65f6\u91cd\u7f6e\u62a5\u9519\uff0c\u6216\u5728 ios \u76ee\u5f55\u4e2d\u65e0\u6cd5\u751f\u6210.xcworkspace \u6587\u4ef6\uff09\uff0c\u8bf7\u52a1\u5fc5\u68c0\u67e5\u786e\u5b9a\u4f60\u7684\u4ee3\u7406\u914d\u7f6e\u662f\u5426\u5bf9\u547d\u4ee4\u884c\u6709\u6548\u3002"]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u662f\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u6b65\u9aa4\u5b8c\u5168\u4e0d\u540c\uff0c\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u53ef\u9009\u53c2\u6570-\u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f",children:"[\u53ef\u9009\u53c2\u6570] \u6307\u5b9a\u7248\u672c\u6216\u9879\u76ee\u6a21\u677f"}),"\n",(0,i.jsxs)(n.p,{children:["\u4f60\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--version"}),"\u53c2\u6570\uff08\u6ce8\u610f\u662f",(0,i.jsx)(n.code,{children:"\u4e24"}),"\u4e2a\u6760\uff09\u521b\u5efa\u6307\u5b9a\u7248\u672c\u7684\u9879\u76ee\u3002\u6ce8\u610f\u7248\u672c\u53f7\u5fc5\u987b\u7cbe\u786e\u5230\u4e24\u4e2a\u5c0f\u6570\u70b9\u3002"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npx @react-native-community/cliX.XX.X init AwesomeProject --version X.XX.X\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u8fd8\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"--template"}),"\u6765\u4f7f\u7528\u4e00\u4e9b\u793e\u533a\u63d0\u4f9b\u7684\u6a21\u677f\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u53ef\u9009\u6587\u4ef6-xcode-\u7684\u73af\u5883\u914d\u7f6e\u6587\u4ef6",children:"[\u53ef\u9009\u6587\u4ef6] Xcode \u7684\u73af\u5883\u914d\u7f6e\u6587\u4ef6"}),"\n",(0,i.jsxs)(n.p,{children:["\u4ece React Native \u7248\u672c 0.69 \u5f00\u59cb\uff0c\u53ef\u4ee5\u4f7f\u7528\u6a21\u677f\u63d0\u4f9b\u7684 ",(0,i.jsx)(n.code,{children:".xcode.env"})," \u6587\u4ef6\u6765\u914d\u7f6e Xcode \u73af\u5883\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:".xcode.env"})," \u6587\u4ef6\u4e2d\u5305\u542b\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u793a\u4f8b\uff0c\u7528\u4e8e\u5728 ",(0,i.jsx)(n.code,{children:"NODE_BINARY"})," \u53d8\u91cf\u4e2d\u5bfc\u51fa ",(0,i.jsx)(n.code,{children:"node"})," \u6267\u884c\u6587\u4ef6\u7684\u8def\u5f84\u3002\u8fd9\u662f\u5c06\u6784\u5efa\u57fa\u7840\u7ed3\u6784\u4e0e",(0,i.jsx)(n.code,{children:"node"}),"\u7cfb\u7edf\u7248\u672c\u89e3\u8026\u7684",(0,i.jsx)(n.strong,{children:"\u63a8\u8350\u505a\u6cd5"}),"\u3002\u5982\u679c\u4e0e\u9ed8\u8ba4\u503c\u4e0d\u540c\uff0c\u5219\u5e94\u4f7f\u7528\u60a8\u81ea\u5df1\u7684\u8def\u5f84\u6216\u60a8\u81ea\u5df1\u7684",(0,i.jsx)(n.code,{children:"node"}),"\u7248\u672c\u7ba1\u7406\u5668\u6765\u81ea\u5b9a\u4e49\u6b64\u53d8\u91cf\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u6b64\u5916\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5728\u6784\u5efa\u811a\u672c\u9636\u6bb5\u4e2d\u6dfb\u52a0\u4efb\u4f55\u5176\u4ed6\u73af\u5883\u53d8\u91cf\u5e76\u5bfc\u5165 ",(0,i.jsx)(n.code,{children:".xcode.env"})," \u6587\u4ef6\u3002\u5982\u679c\u60a8\u9700\u8981\u8fd0\u884c\u9700\u8981\u7279\u5b9a\u73af\u5883\u7684\u811a\u672c\uff0c\u8fd9\u4e5f\u662f\u5c06\u6784\u5efa\u9636\u6bb5\u4e0e\u7279\u5b9a\u73af\u5883\u89e3\u8026\u7684",(0,i.jsx)(n.strong,{children:"\u63a8\u8350\u505a\u6cd5"}),"\u3002"]}),"\n",(0,i.jsx)(n.h2,{id:"\u7f16\u8bd1\u5e76\u8fd0\u884c-react-native-\u5e94\u7528",children:"\u7f16\u8bd1\u5e76\u8fd0\u884c React Native \u5e94\u7528"}),"\n",(0,i.jsxs)(n.p,{children:["\u5728\u4f60\u7684\u9879\u76ee\u76ee\u5f55\u4e2d\u8fd0\u884c",(0,i.jsx)(n.code,{children:"yarn ios"}),"\u6216\u8005",(0,i.jsx)(n.code,{children:"yarn react-native run-ios"}),"\uff1a"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-sh",children:"cd AwesomeProject\nyarn ios\n# \u6216\u8005\nyarn react-native run-ios\n"})}),"\n",(0,i.jsxs)(n.p,{children:["\u6b64\u547d\u4ee4\u4f1a\u5bf9\u9879\u76ee\u7684\u539f\u751f\u90e8\u5206\u8fdb\u884c\u7f16\u8bd1\uff0c\u540c\u65f6\u5728\u53e6\u5916\u4e00\u4e2a\u547d\u4ee4\u884c\u4e2d\u542f\u52a8",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u5bf9 js \u4ee3\u7801\u8fdb\u884c\u5b9e\u65f6\u6253\u5305\u5904\u7406\uff08\u7c7b\u4f3c webpack\uff09\u3002",(0,i.jsx)(n.code,{children:"Metro"}),"\u670d\u52a1\u4e5f\u53ef\u4ee5\u4f7f\u7528",(0,i.jsx)(n.code,{children:"yarn start"}),"\u547d\u4ee4\u5355\u72ec\u542f\u52a8\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u63d0\u793a\uff1a\u5982\u679c\u6b64\u547d\u4ee4\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u8bf7\u4f7f\u7528 Xcode \u8fd0\u884c\u6765\u67e5\u770b\u5177\u4f53\u9519\u8bef\uff08run-ios \u7684\u62a5\u9519\u6ca1\u6709\u4efb\u4f55\u5177\u4f53\u4fe1\u606f\uff09\u3002\u6ce8\u610f 0.60 \u7248\u672c\u4e4b\u540e\u7684\u4e3b\u9879\u76ee\u6587\u4ef6\u662f",(0,i.jsx)(n.code,{children:".xcworkspace"}),"\uff0c\u4e0d\u662f",(0,i.jsx)(n.code,{children:".xcodeproj"}),"\uff01"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"\u5f88\u5feb\u5c31\u5e94\u8be5\u80fd\u770b\u5230 iOS \u6a21\u62df\u5668\u81ea\u52a8\u542f\u52a8\u5e76\u8fd0\u884c\u4f60\u7684\u9879\u76ee\u3002"}),"\n",(0,i.jsxs)(n.p,{children:["\u5728\u6b63\u5e38\u7f16\u8bd1\u5b8c\u6210\u540e\uff0c\u5f00\u53d1\u671f\u95f4\u8bf7\u4fdd\u6301",(0,i.jsx)(n.code,{children:"Metro"}),"\u547d\u4ee4\u884c\u7a97\u53e3\u8fd0\u884c\u800c\u4e0d\u8981\u5173\u95ed\u3002\u4ee5\u540e\u9700\u8981\u518d\u6b21\u8fd0\u884c\u9879\u76ee\u65f6\uff0c\u5982\u679c\u6ca1\u6709\u4fee\u6539\u8fc7 ios \u76ee\u5f55\u4e2d\u7684\u4efb\u4f55\u6587\u4ef6\uff0c\u5219\u53ea\u9700\u5355\u72ec\u542f\u52a8",(0,i.jsx)(n.code,{children:"yarn start"}),"\u547d\u4ee4\u3002\u5982\u679c\u5bf9 ios \u76ee\u5f55\u4e2d\u4efb\u4f55\u6587\u4ef6\u6709\u4fee\u6539\uff0c\u5219\u9700\u8981\u518d\u6b21\u8fd0\u884c",(0,i.jsx)(n.code,{children:"yarn ios"}),"\u547d\u4ee4\u5b8c\u6210\u539f\u751f\u90e8\u5206\u7684\u7f16\u8bd1\u3002"]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"AwesomeProject on iOS",src:r(45757).Z+"",width:"249",height:"493"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"yarn ios"}),"\u53ea\u662f\u8fd0\u884c\u5e94\u7528\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002\u4f60\u4e5f\u53ef\u4ee5\u5728 Xcode \u4e2d\u76f4\u63a5\u8fd0\u884c\u5e94\u7528\u3002\u6ce8\u610f 0.60 \u7248\u672c\u4e4b\u540e\u7684\u4e3b\u9879\u76ee\u6587\u4ef6\u662f",(0,i.jsx)(n.code,{children:".xcworkspace"}),"\uff0c\u4e0d\u662f",(0,i.jsx)(n.code,{children:".xcodeproj"}),"\u3002"]}),"\n",(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u5148\u56de\u5934",(0,i.jsx)(n.code,{children:"\u4ed4\u7ec6\u5bf9\u7167\u6587\u6863\u68c0\u67e5"}),"\uff0c\u7136\u540e\u53ef\u4ee5\u770b\u770b",(0,i.jsx)(n.a,{href:"https://github.com/reactnativecn/react-native-website/issues",children:"\u8ba8\u8bba\u533a"}),"\u3002"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5728\u771f\u673a\u4e0a\u8fd0\u884c",children:"\u5728\u771f\u673a\u4e0a\u8fd0\u884c"}),"\n",(0,i.jsxs)(n.p,{children:["\u4e0a\u9762\u7684\u547d\u4ee4\u4f1a\u81ea\u52a8\u5728 iOS \u6a21\u62df\u5668\u4e0a\u8fd0\u884c\u5e94\u7528\uff0c\u5982\u679c\u4f60\u60f3\u5728\u771f\u673a\u4e0a\u8fd0\u884c\uff0c\u5219\u8bf7\u9605\u8bfb",(0,i.jsx)(n.a,{href:"/docs/running-on-device",children:"\u5728\u8bbe\u5907\u4e0a\u8fd0\u884c"}),"\u8fd9\u7bc7\u6587\u6863\u3002"]}),"\n",(0,i.jsx)(n.h3,{id:"\u4fee\u6539\u9879\u76ee",children:"\u4fee\u6539\u9879\u76ee"}),"\n",(0,i.jsx)(n.p,{children:"\u73b0\u5728\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u4e86\u9879\u76ee\uff0c\u6211\u4eec\u53ef\u4ee5\u5f00\u59cb\u5c1d\u8bd5\u52a8\u624b\u6539\u4e00\u6539\u4e86\uff1a"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\u4f7f\u7528\u4f60\u559c\u6b22\u7684\u7f16\u8f91\u5668\u6253\u5f00",(0,i.jsx)(n.code,{children:"App.js"}),"\u5e76\u968f\u4fbf\u6539\u4e0a\u51e0\u884c\u3002"]}),"\n",(0,i.jsxs)(n.li,{children:["\u5728 iOS \u6a21\u62df\u5668\u4e2d\u6309\u4e0b",(0,i.jsx)(n.code,{children:"\u2318-R"}),"\u5c31\u53ef\u4ee5\u5237\u65b0 APP \u5e76\u770b\u5230\u4f60\u7684\u6700\u65b0\u4fee\u6539\uff01\uff08\u5982\u679c\u6ca1\u6709\u53cd\u5e94\uff0c\u8bf7\u68c0\u67e5\u6a21\u62df\u5668\u7684 Hardware \u83dc\u5355\u4e2d\uff0cconnect hardware keyboard \u9009\u9879\u662f\u5426\u9009\u4e2d\u5f00\u542f\uff09"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"\u5b8c\u6210\u4e86",children:"\u5b8c\u6210\u4e86\uff01"}),"\n",(0,i.jsx)(n.p,{children:"\u606d\u559c\uff01\u4f60\u5df2\u7ecf\u6210\u529f\u8fd0\u884c\u5e76\u4fee\u6539\u4e86\u4f60\u7684\u7b2c\u4e00\u4e2a React Native \u5e94\u7528\u3002"}),"\n",(0,i.jsx)("center",{children:(0,i.jsx)("img",{src:"https://cdn.jsdelivr.net/gh/reactnativecn/react-native-website@gh-pages/docs/assets/GettingStartedCongratulations.png",width:"150"})}),"\n",(0,i.jsx)(n.h2,{id:"\u63a5\u4e0b\u6765",children:"\u63a5\u4e0b\u6765\uff1f"}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u628a React Native \u96c6\u6210\u5230\u73b0\u6709\u7684\u539f\u751f\u9879\u76ee\u4e2d\uff0c\u5219\u8bf7\u53c2\u8003",(0,i.jsx)(n.a,{href:"/docs/integration-with-existing-apps",children:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528"}),"\u3002"]}),"\n",(0,i.jsxs)(n.p,{children:["\u5982\u679c\u4f60\u60f3\u4ece\u5934\u5f00\u59cb\u5b66\u4e60 React Native \u5f00\u53d1\uff0c\u53ef\u4ee5\u4ece",(0,i.jsx)(n.a,{href:"/docs/environment-setup",children:"\u7b80\u4ecb"}),"\u6587\u6863\u5f00\u59cb\u3002"]})]})}function b(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(A,{...e})}):A(e)}const f={id:"environment-setup",title:"\u642d\u5efa\u5f00\u53d1\u73af\u5883",hide_table_of_contents:!0},w=void 0,S={id:"environment-setup",title:"\u642d\u5efa\u5f00\u53d1\u73af\u5883",description:"\u6b22\u8fce\u4f7f\u7528 React Native\uff01\u8fd9\u7bc7\u6587\u6863\u4f1a\u5e2e\u52a9\u4f60\u642d\u5efa\u57fa\u672c\u7684 React Native \u5f00\u53d1\u73af\u5883\u3002",source:"@site/versioned_docs/version-0.75/getting-started.md",sourceDirName:".",slug:"/environment-setup",permalink:"/docs/environment-setup",draft:!1,unlisted:!1,editUrl:"https://github.com/reactnativecn/react-native-website/blob/production/cnwebsite/../cndocs/getting-started.md",tags:[],version:"0.75",frontMatter:{id:"environment-setup",title:"\u642d\u5efa\u5f00\u53d1\u73af\u5883",hide_table_of_contents:!0},sidebar:"docs",previous:{title:"\u5176\u4ed6\u53c2\u8003\u8d44\u6e90",permalink:"/docs/more-resources"},next:{title:"\u96c6\u6210\u5230\u73b0\u6709\u539f\u751f\u5e94\u7528",permalink:"/docs/integration-with-existing-apps"}},N={},y=[{value:"\u5f00\u53d1\u5e73\u53f0",id:"\u5f00\u53d1\u5e73\u53f0",level:4},{value:"\u76ee\u6807\u5e73\u53f0",id:"\u76ee\u6807\u5e73\u53f0",level:4},...x,...g,{value:"\u76ee\u6807\u5e73\u53f0",id:"\u76ee\u6807\u5e73\u53f0-1",level:4},...u,{value:"\u6682\u4e0d\u652f\u6301",id:"\u6682\u4e0d\u652f\u6301",level:2},{value:"\u76ee\u6807\u5e73\u53f0",id:"\u76ee\u6807\u5e73\u53f0-2",level:4},...a,{value:"\u6682\u4e0d\u652f\u6301",id:"\u6682\u4e0d\u652f\u6301-1",level:2}];function k(e){const n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,d.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"\u6b22\u8fce\u4f7f\u7528 React Native\uff01\u8fd9\u7bc7\u6587\u6863\u4f1a\u5e2e\u52a9\u4f60\u642d\u5efa\u57fa\u672c\u7684 React Native \u5f00\u53d1\u73af\u5883\u3002"}),"\n",(0,i.jsxs)(s.Z,{groupId:"guide",defaultValue:l.Z.defaultGuide,values:l.Z.guides,children:[(0,i.jsxs)(c.Z,{value:"quickstart",children:[(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsx)(n.p,{children:"\u8bd1\u6ce8\uff1a\u6c99\u76d2\u73af\u5883\u5927\u91cf\u4f9d\u8d56\u4e8e\u56fd\u5916\u7f51\u7edc\u73af\u5883\uff0c\u4e5f\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\u7b2c\u4e09\u65b9\u539f\u751f\u7ec4\u4ef6\u3002\u4e0d\u5efa\u8bae\u56fd\u5185\u7528\u6237\u4f7f\u7528"}),"\n"]}),(0,i.jsxs)(n.p,{children:["Assuming that you have ",(0,i.jsx)(n.a,{href:"https://nodejs.org/en/download/",children:"Node 12 LTS"})," or greater installed, you can use npm to install the Expo CLI command line utility:"]}),(0,i.jsxs)(s.Z,{groupId:"package-manager",defaultValue:l.Z.defaultPackageManager,values:l.Z.packageManagers,children:[(0,i.jsx)(c.Z,{value:"npm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"npm install -g expo-cli\n"})})}),(0,i.jsx)(c.Z,{value:"yarn",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"yarn global add expo-cli\n"})})})]}),(0,i.jsx)(n.p,{children:'Then run the following commands to create a new React Native project called "AwesomeProject":'}),(0,i.jsxs)(s.Z,{groupId:"package-manager",defaultValue:l.Z.defaultPackageManager,values:l.Z.packageManagers,children:[(0,i.jsx)(c.Z,{value:"npm",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"expo init AwesomeProject\n\ncd AwesomeProject\nnpm start # you can also use: expo start\n"})})}),(0,i.jsx)(c.Z,{value:"yarn",children:(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"expo init AwesomeProject\n\ncd AwesomeProject\nyarn start # you can also use: expo start\n"})})})]}),(0,i.jsx)(n.p,{children:"This will start a development server for you."}),(0,i.jsx)("h2",{children:"Running your React Native application"}),(0,i.jsxs)(n.p,{children:["Install the ",(0,i.jsx)(n.a,{href:"https://expo.io",children:"Expo"})," client app on your iOS or Android phone and connect to the same wireless network as your computer. On Android, use the Expo app to scan the QR code from your terminal to open your project. On iOS, use the built-in QR code scanner of the Camera app."]}),(0,i.jsx)("h3",{children:"Modifying your app"}),(0,i.jsxs)(n.p,{children:["Now that you have successfully run the app, let's modify it. Open ",(0,i.jsx)(n.code,{children:"App.js"})," in your text editor of choice and edit some lines. The application should reload automatically once you save your changes."]}),(0,i.jsx)("h3",{children:"That's it!"}),(0,i.jsx)(n.p,{children:"Congratulations! You've successfully run and modified your first React Native app."}),(0,i.jsx)("center",{children:(0,i.jsx)("img",{src:"https://cdn.jsdelivr.net/gh/reactnativecn/react-native-website@gh-pages/docs/assets/GettingStartedCongratulations.png",width:"150"})}),(0,i.jsx)("h2",{children:"Now what?"}),(0,i.jsxs)(n.p,{children:["Expo also has ",(0,i.jsx)(n.a,{href:"https://docs.expo.io",children:"docs"})," you can reference if you have questions specific to the tool. You can also ask for help at ",(0,i.jsx)(n.a,{href:"https://forums.expo.io",children:"Expo forums"}),"."]}),(0,i.jsxs)(n.p,{children:["These tools help you get started quickly, but before committing to building your app with Expo CLI, ",(0,i.jsx)(n.a,{href:"https://docs.expo.io/versions/latest/introduction/why-not-expo/",children:"read about the limitations"}),"."]}),(0,i.jsx)(n.p,{children:"If you have a problem with Expo, before creating a new issue, please see if there's an existing issue about it:"}),(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["in the ",(0,i.jsx)(n.a,{href:"https://github.com/expo/expo-cli/issues",children:"Expo CLI issues"})," (for issues related to Expo CLI), or"]}),"\n",(0,i.jsxs)(n.li,{children:["in the ",(0,i.jsx)(n.a,{href:"https://github.com/expo/expo/issues",children:"Expo issues"})," (for issues about the Expo client or SDK)."]}),"\n"]}),(0,i.jsxs)(n.p,{children:["If you're curious to learn more about React Native, check out the ",(0,i.jsx)(n.a,{href:"getting-started",children:"Introduction to React Native"}),"."]}),(0,i.jsx)("h3",{children:"Running your app on a simulator or virtual device"}),(0,i.jsx)(n.p,{children:'Expo CLI allows you to run your React Native app on a physical device without setting up a development environment. If you want to run your app on the iOS Simulator or an Android Virtual Device, please refer to the instructions for "React Native CLI Quickstart" to learn how to install Xcode or set up your Android development environment.'}),(0,i.jsxs)(n.p,{children:["Once you've set these up, you can launch your app on an Android Virtual Device by running ",(0,i.jsx)(n.code,{children:"npm run android"}),", or on the iOS Simulator by running ",(0,i.jsx)(n.code,{children:"npm run ios"})," (macOS only)."]}),(0,i.jsx)("h3",{children:"Caveats"}),(0,i.jsx)(n.p,{children:"Because you don't build any native code when using Expo to create a project, it's not possible to include custom native modules beyond the React Native APIs and components that are available in the Expo client app."}),(0,i.jsxs)(n.p,{children:["If you know that you'll eventually need to include your own native code, Expo is still a good way to get started. In that case you'll need to \"",(0,i.jsx)(n.a,{href:"https://docs.expo.io/versions/latest/workflow/customizing/",children:"eject"}),'" eventually to create your own native builds. If you do eject, the "React Native CLI Quickstart" instructions will be required to continue working on your project.']}),(0,i.jsxs)(n.p,{children:["Expo CLI configures your project to use the most recent React Native version that is supported by the Expo client app. The Expo client app usually gains support for a given React Native version about a week after the React Native version is released as stable. You can check ",(0,i.jsx)(n.a,{href:"https://docs.expo.io/versions/latest/sdk/overview/#sdk-version",children:"this document"})," to find out what versions are supported."]}),(0,i.jsx)(n.p,{children:"If you're integrating React Native into an existing project, you'll want to skip Expo CLI and go directly to setting up the native build environment. Select \"React Native CLI Quickstart\" above for instructions on configuring a native build environment for React Native."})]}),(0,i.jsxs)(c.Z,{value:"native",children:[(0,i.jsx)(n.p,{children:"\u6839\u636e\u4f60\u6240\u4f7f\u7528\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u9488\u5bf9\u7684\u76ee\u6807\u5e73\u53f0\u4e0d\u540c\uff0c\u5177\u4f53\u6b65\u9aa4\u6709\u6240\u4e0d\u540c\u3002\u5982\u679c\u60f3\u540c\u65f6\u5f00\u53d1 iOS \u548c Android \u4e5f\u6ca1\u95ee\u9898\uff0c\u4f60\u53ea\u9700\u8981\u5148\u9009\u4e00\u4e2a\u5e73\u53f0\u5f00\u59cb\uff0c\u53e6\u4e00\u4e2a\u5e73\u53f0\u7684\u73af\u5883\u642d\u5efa\u53ea\u662f\u7a0d\u6709\u4e0d\u540c\u3002"}),(0,i.jsxs)(n.p,{children:["\u5982\u679c",(0,i.jsx)(n.code,{children:"\u9605\u8bfb\u5b8c\u672c\u6587\u6863"}),"\u540e\u8fd8\u78b0\u5230\u5f88\u591a\u73af\u5883\u642d\u5efa\u7684\u95ee\u9898\uff0c\u6211\u4eec\u5efa\u8bae\u4f60\u8fd8\u53ef\u4ee5\u518d\u770b\u770b",(0,i.jsx)(n.a,{href:"https://github.com/reactnativecn/react-native-website/issues",children:"\u6c42\u52a9\u8ba8\u8bba\u533a"}),"\u3002\u6ce8\u610f\uff01\u89c6\u9891\u6559\u7a0b\u6216\u8005\u5176\u4ed6\u7f51\u7edc\u4e0a\u7684\u535a\u5ba2\u548c\u6587\u7ae0\u53ef\u80fd\u548c\u672c\u6587\u6863\u6709\u6240\u51fa\u5165\uff0c\u8bf7\u4ee5\u6700\u65b0\u7248\u672c\u7684\u672c\u6587\u6863\u6240\u8ff0\u4e3a\u51c6\uff01"]}),(0,i.jsx)(n.h4,{id:"\u5f00\u53d1\u5e73\u53f0",children:"\u5f00\u53d1\u5e73\u53f0"}),(0,i.jsxs)(s.Z,{groupId:"os",defaultValue:l.Z.defaultOs,values:l.Z.oses,className:"pill-tabs",children:[(0,i.jsxs)(c.Z,{value:"macos",children:[(0,i.jsx)(n.h4,{id:"\u76ee\u6807\u5e73\u53f0",children:"\u76ee\u6807\u5e73\u53f0"}),(0,i.jsxs)(s.Z,{groupId:"platform",defaultValue:l.Z.defaultPlatform,values:l.Z.platforms,className:"pill-tabs",children:[(0,i.jsx)(c.Z,{value:"android",children:(0,i.jsx)(p,{})}),(0,i.jsx)(c.Z,{value:"ios",children:(0,i.jsx)(b,{})})]})]}),(0,i.jsxs)(c.Z,{value:"windows",children:[(0,i.jsx)(n.h4,{id:"\u76ee\u6807\u5e73\u53f0-1",children:"\u76ee\u6807\u5e73\u53f0"}),(0,i.jsxs)(s.Z,{groupId:"platform",defaultValue:l.Z.defaultPlatform,values:l.Z.platforms,className:"pill-tabs",children:[(0,i.jsx)(c.Z,{value:"android",children:(0,i.jsx)(m,{})}),(0,i.jsxs)(c.Z,{value:"ios",children:[(0,i.jsx)(n.h2,{id:"\u6682\u4e0d\u652f\u6301",children:"\u6682\u4e0d\u652f\u6301"}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u82f9\u679c\u516c\u53f8\u76ee\u524d\u53ea\u5141\u8bb8\u5728 Mac \u7535\u8111\u4e0a\u5f00\u53d1 iOS \u5e94\u7528\u3002\u5982\u679c\u4f60\u6ca1\u6709 Mac \u7535\u8111\uff0c\u90a3\u4e48\u53ea\u80fd\u8003\u8651\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u6c99\u76d2\u73af\u5883"}),"\uff0c\u6216\u8005\u5148\u5f00\u53d1 Android \u5e94\u7528\u4e86\u3002"]}),"\n"]})]})]})]}),(0,i.jsxs)(c.Z,{value:"linux",children:[(0,i.jsx)(n.h4,{id:"\u76ee\u6807\u5e73\u53f0-2",children:"\u76ee\u6807\u5e73\u53f0"}),(0,i.jsxs)(s.Z,{groupId:"platform",defaultValue:l.Z.defaultPlatform,values:l.Z.platforms,className:"pill-tabs",children:[(0,i.jsx)(c.Z,{value:"android",children:(0,i.jsx)(h,{})}),(0,i.jsxs)(c.Z,{value:"ios",children:[(0,i.jsx)(n.h2,{id:"\u6682\u4e0d\u652f\u6301-1",children:"\u6682\u4e0d\u652f\u6301"}),(0,i.jsxs)(n.blockquote,{children:["\n",(0,i.jsxs)(n.p,{children:["\u82f9\u679c\u516c\u53f8\u76ee\u524d\u53ea\u5141\u8bb8\u5728 Mac \u7535\u8111\u4e0a\u5f00\u53d1 iOS \u5e94\u7528\u3002\u5982\u679c\u4f60\u6ca1\u6709 Mac \u7535\u8111\uff0c\u90a3\u4e48\u53ea\u80fd\u8003\u8651\u4f7f\u7528",(0,i.jsx)(n.code,{children:"\u6c99\u76d2\u73af\u5883"}),"\uff0c\u6216\u8005\u5148\u5f00\u53d1 Android \u5e94\u7528\u4e86\u3002"]}),"\n"]})]})]})]})]})]})]})]})}function D(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(k,{...e})}):k(e)}},11674:(e,n,r)=>{r.d(n,{Z:()=>c});var i=r(63445);const d=!!i.Z.canUseDOM&&navigator.platform.startsWith("Mac"),s=!!i.Z.canUseDOM&&navigator.platform.startsWith("Win"),c={defaultGuide:"native",defaultOs:d?"macos":s?"windows":"linux",defaultPackageManager:"npm",defaultPlatform:d?"ios":"android",defaultSyntax:"functional",getDevNotesTabs:(e=["android","ios","web","windows"])=>[e.includes("android")?{label:"Android",value:"android"}:void 0,e.includes("ios")?{label:"iOS",value:"ios"}:void 0,e.includes("web")?{label:"Web",value:"web"}:void 0,e.includes("windows")?{label:"Windows",value:"windows"}:void 0].filter(Boolean),guides:[{label:"\u5b8c\u6574\u539f\u751f\u73af\u5883",value:"native"},{label:"\u7b80\u6613\u6c99\u76d2\u73af\u5883",value:"quickstart"}],oses:[{label:"macOS",value:"macos"},{label:"Windows",value:"windows"},{label:"Linux",value:"linux"}],packageManagers:[{label:"npm",value:"npm"},{label:"Yarn",value:"yarn"}],platforms:[{label:"Android",value:"android"},{label:"iOS",value:"ios"}],syntax:[{label:"\u51fd\u6570\u5f0f\u7ec4\u4ef6",value:"functional"},{label:"Class \u7ec4\u4ef6",value:"classical"}]}},86386:(e,n,r)=>{r.d(n,{Z:()=>x});var i=r(27378),d=r(40624);const s={tabItem:"tabItem_wHwb"};var c=Object.defineProperty,l=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,t=(e,n,r)=>n in e?c(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,h=(e,n)=>{for(var r in n||(n={}))o.call(n,r)&&t(e,r,n[r]);if(l)for(var r of l(n))a.call(n,r)&&t(e,r,n[r]);return e};function x({children:e,hidden:n,className:r}){return i.createElement("div",h({role:"tabpanel",className:(0,d.Z)(s.tabItem,r)},{hidden:n}),e)}},48375:(e,n,r)=>{r.d(n,{Z:()=>Y});var i=r(27378),d=r(40624),s=r(12112),c=r(3620),l=r(69490),o=r(14953),a=r(27886),t=r(7106),h=Object.defineProperty,x=Object.defineProperties,j=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,m=(e,n,r)=>n in e?h(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,g=(e,n)=>{for(var r in n||(n={}))u.call(n,r)&&m(e,r,n[r]);if(p)for(var r of p(n))v.call(n,r)&&m(e,r,n[r]);return e},A=(e,n)=>x(e,j(n));function b(e){var n,r;return null!=(r=null==(n=i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Badnpm uninstall -g react-native-cli @react-native-community/cli
使用 React Native 内建的命令行工具来创建一个名为"AwesomeProject"的新项目。这个命令行工具不需要安装,可以直接用 node 自带的npx
命令来使用(注意 init 命令默认会创建最新的版本):
npx @react-native-community/clilatest init AwesomeProject
npx @react-native-community/cli@latest init AwesomeProject
@@ -204,7 +204,7 @@注意一:请
不要
在目录、文件名中使用中文、空格等特殊符号。请不要
单独使用常见的关键字作为项目名(如 class, native, new, package 等等)。请不要
使用与核心模块同名的项目名(如 react, react-native 等)。
从 React Native 版本 0.69 开始,可以使用模板提供的 .xcode.env
文件来配置 Xcode 环境。
.xcode.env
文件中包含一个环境变量示例,用于在 NODE_BINARY
变量中导出 node
执行文件的路径。这是将构建基础结构与node
系统版本解耦的推荐做法。如果与默认值不同,则应使用您自己的路径或您自己的node
版本管理器来自定义此变量。
.xcode.env
文件 中包含一个环境变量示例,用于在 NODE_BINARY
变量中导出 node
执行文件的路径。这是将构建基础结构与node
系统版本解耦的推荐做法。如果与默认值不同,则应使用您自己的路径或您自己的node
版本管理器来自定义此变量。
此外,您还可以在构建脚本阶段中添加任何其他环境变量并导入 .xcode.env
文件。如果您需要运行需要特定环境的脚本,这也是将构建阶段与特定环境解耦的推荐做法。
在你的项目目录中运行yarn ios
或者yarn react-native run-ios
:
上面的命令会自动在 iOS 模拟器上运行应用,如果你想在真机上运行,则请阅读在设备上运行这篇文档。
现在你已经成功运行了项目,我们可以开始尝试动手改一改了:
diff --git a/docs/fabric-renderer.html b/docs/fabric-renderer.html index f1e3c7f3670..beb332e3f10 100644 --- a/docs/fabric-renderer.html +++ b/docs/fabric-renderer.html @@ -17,7 +17,7 @@ - + diff --git a/docs/fast-refresh.html b/docs/fast-refresh.html index 13657cfac3c..378f3cd19b5 100644 --- a/docs/fast-refresh.html +++ b/docs/fast-refresh.html @@ -17,7 +17,7 @@ - + diff --git a/docs/flatlist.html b/docs/flatlist.html index 4ba9b40007f..07490d5c2e3 100644 --- a/docs/flatlist.html +++ b/docs/flatlist.html @@ -17,7 +17,7 @@ - + diff --git a/docs/flexbox.html b/docs/flexbox.html index 72ee8785c43..40c6d256d25 100644 --- a/docs/flexbox.html +++ b/docs/flexbox.html @@ -17,7 +17,7 @@ - + diff --git a/docs/gesture-responder-system.html b/docs/gesture-responder-system.html index 107cfd1cb8d..76f9908a04c 100644 --- a/docs/gesture-responder-system.html +++ b/docs/gesture-responder-system.html @@ -17,7 +17,7 @@ - + diff --git a/docs/getting-started.html b/docs/getting-started.html index 3ab94108f7d..1e5ff60050c 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -17,7 +17,7 @@ - + diff --git a/docs/handling-text-input.html b/docs/handling-text-input.html index 2ab372a1a02..30ea074af7a 100644 --- a/docs/handling-text-input.html +++ b/docs/handling-text-input.html @@ -17,7 +17,7 @@ - + diff --git a/docs/handling-touches.html b/docs/handling-touches.html index 9ca78bd7ed3..77a8678d9cc 100644 --- a/docs/handling-touches.html +++ b/docs/handling-touches.html @@ -17,7 +17,7 @@ - + diff --git a/docs/headless-js-android.html b/docs/headless-js-android.html index 49a6c583630..e86984f938c 100644 --- a/docs/headless-js-android.html +++ b/docs/headless-js-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/height-and-width.html b/docs/height-and-width.html index 72a1129ba6d..282f6abd384 100644 --- a/docs/height-and-width.html +++ b/docs/height-and-width.html @@ -17,7 +17,7 @@ - + diff --git a/docs/hermes.html b/docs/hermes.html index 736d843d33f..dc8376f93a1 100644 --- a/docs/hermes.html +++ b/docs/hermes.html @@ -17,7 +17,7 @@ - + diff --git a/docs/image-style-props.html b/docs/image-style-props.html index e5190d59a32..2a1052bbdf1 100644 --- a/docs/image-style-props.html +++ b/docs/image-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/image.html b/docs/image.html index e4d148d2693..6048905b838 100644 --- a/docs/image.html +++ b/docs/image.html @@ -17,7 +17,7 @@ - + diff --git a/docs/imagebackground.html b/docs/imagebackground.html index 0b8123c4eee..de2a14aca52 100644 --- a/docs/imagebackground.html +++ b/docs/imagebackground.html @@ -17,7 +17,7 @@ - + diff --git a/docs/imagepickerios.html b/docs/imagepickerios.html index b71f9b7279b..b013cf0368b 100644 --- a/docs/imagepickerios.html +++ b/docs/imagepickerios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/images.html b/docs/images.html index 4dfccb5c05f..5fb5a65f56d 100644 --- a/docs/images.html +++ b/docs/images.html @@ -17,7 +17,7 @@ - + diff --git a/docs/improvingux.html b/docs/improvingux.html index 8afafe32d50..838b753c2a1 100644 Binary files a/docs/improvingux.html and b/docs/improvingux.html differ diff --git a/docs/inputaccessoryview.html b/docs/inputaccessoryview.html index 81c87cffb21..1e6d2ff1cf2 100644 --- a/docs/inputaccessoryview.html +++ b/docs/inputaccessoryview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/integration-with-android-fragment.html b/docs/integration-with-android-fragment.html index 28415ade02d..2a42e9c0cba 100644 --- a/docs/integration-with-android-fragment.html +++ b/docs/integration-with-android-fragment.html @@ -17,7 +17,7 @@ - + diff --git a/docs/integration-with-existing-apps.html b/docs/integration-with-existing-apps.html index 8e6dcf7cb84..559a757b44a 100644 --- a/docs/integration-with-existing-apps.html +++ b/docs/integration-with-existing-apps.html @@ -17,7 +17,7 @@ - + diff --git a/docs/interactionmanager.html b/docs/interactionmanager.html index c9ef44f6c1e..4cdbfa1b802 100644 --- a/docs/interactionmanager.html +++ b/docs/interactionmanager.html @@ -17,7 +17,7 @@ - + diff --git a/docs/intro-react-native-components.html b/docs/intro-react-native-components.html index a9ac3a42646..9c9c7f687e1 100644 Binary files a/docs/intro-react-native-components.html and b/docs/intro-react-native-components.html differ diff --git a/docs/intro-react.html b/docs/intro-react.html index 8d8693e67bb..623295e8324 100644 --- a/docs/intro-react.html +++ b/docs/intro-react.html @@ -17,7 +17,7 @@ - + diff --git a/docs/javascript-environment.html b/docs/javascript-environment.html index 3296c7934c2..d558ec67f4a 100644 --- a/docs/javascript-environment.html +++ b/docs/javascript-environment.html @@ -17,7 +17,7 @@ - + diff --git a/docs/keyboard.html b/docs/keyboard.html index 32c4ff4fcd9..18bc16c6d79 100644 --- a/docs/keyboard.html +++ b/docs/keyboard.html @@ -17,7 +17,7 @@ - + diff --git a/docs/keyboardavoidingview.html b/docs/keyboardavoidingview.html index 15966301fd5..0b8e3804d01 100644 --- a/docs/keyboardavoidingview.html +++ b/docs/keyboardavoidingview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/layout-props.html b/docs/layout-props.html index ba406434c93..6a39ef6cc61 100644 Binary files a/docs/layout-props.html and b/docs/layout-props.html differ diff --git a/docs/layoutanimation.html b/docs/layoutanimation.html index 80b71c47e7f..653dcac5f02 100644 --- a/docs/layoutanimation.html +++ b/docs/layoutanimation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/layoutevent.html b/docs/layoutevent.html index 59376d497aa..a9e6fdfe086 100644 Binary files a/docs/layoutevent.html and b/docs/layoutevent.html differ diff --git a/docs/libraries.html b/docs/libraries.html index 94948ba4136..3ede0df381e 100644 --- a/docs/libraries.html +++ b/docs/libraries.html @@ -17,7 +17,7 @@ - + diff --git a/docs/linking-libraries-ios.html b/docs/linking-libraries-ios.html index be97074ce5e..204dad0627c 100644 --- a/docs/linking-libraries-ios.html +++ b/docs/linking-libraries-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/linking.html b/docs/linking.html index 64c940ed0c0..07d5c77c110 100644 --- a/docs/linking.html +++ b/docs/linking.html @@ -17,7 +17,7 @@ - + diff --git a/docs/metro.html b/docs/metro.html index 4e52fc8e71d..5816ff7b349 100644 --- a/docs/metro.html +++ b/docs/metro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/modal.html b/docs/modal.html index 9cc0b45d12b..3cfbfb35251 100644 --- a/docs/modal.html +++ b/docs/modal.html @@ -17,7 +17,7 @@ - + diff --git a/docs/more-resources.html b/docs/more-resources.html index 366a9aa6508..cdfbefda7c7 100644 --- a/docs/more-resources.html +++ b/docs/more-resources.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-components-android.html b/docs/native-components-android.html index 353a76b8a61..66d0aa880bf 100644 --- a/docs/native-components-android.html +++ b/docs/native-components-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-components-ios.html b/docs/native-components-ios.html index 0b1cc5e521c..e7755c33fb5 100644 --- a/docs/native-components-ios.html +++ b/docs/native-components-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-debugging.html b/docs/native-debugging.html index fffdba9ec12..6f4c819cd6b 100644 --- a/docs/native-debugging.html +++ b/docs/native-debugging.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-modules-android.html b/docs/native-modules-android.html index fec26bebc49..162e6f1d34c 100644 --- a/docs/native-modules-android.html +++ b/docs/native-modules-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-modules-intro.html b/docs/native-modules-intro.html index 65454050269..5ec6b9cebac 100644 --- a/docs/native-modules-intro.html +++ b/docs/native-modules-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-modules-ios.html b/docs/native-modules-ios.html index edb57a3b9b1..7a6eb70f7db 100644 --- a/docs/native-modules-ios.html +++ b/docs/native-modules-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/native-modules-setup.html b/docs/native-modules-setup.html index 13747025a30..0dad1e382ec 100644 --- a/docs/native-modules-setup.html +++ b/docs/native-modules-setup.html @@ -17,7 +17,7 @@ - + diff --git a/docs/navigation.html b/docs/navigation.html index 73a3a9faa87..b62ffd2892a 100644 --- a/docs/navigation.html +++ b/docs/navigation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/netinfo.html b/docs/netinfo.html index 31f764decdf..42792110cdc 100644 --- a/docs/netinfo.html +++ b/docs/netinfo.html @@ -17,7 +17,7 @@ - + diff --git a/docs/network.html b/docs/network.html index 540ffe0285b..fa242a80b04 100644 --- a/docs/network.html +++ b/docs/network.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-app-intro.html b/docs/new-architecture-app-intro.html index d34fc08596f..c11c7491cf3 100644 --- a/docs/new-architecture-app-intro.html +++ b/docs/new-architecture-app-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-app-modules-ios.html b/docs/new-architecture-app-modules-ios.html index df099eb8026..9fdb0f9f712 100644 --- a/docs/new-architecture-app-modules-ios.html +++ b/docs/new-architecture-app-modules-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-app-renderer-android.html b/docs/new-architecture-app-renderer-android.html index 02b3c619999..1295b43bca4 100644 --- a/docs/new-architecture-app-renderer-android.html +++ b/docs/new-architecture-app-renderer-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-app-renderer-ios.html b/docs/new-architecture-app-renderer-ios.html index c971be98668..6619f7733f8 100644 --- a/docs/new-architecture-app-renderer-ios.html +++ b/docs/new-architecture-app-renderer-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-appendix.html b/docs/new-architecture-appendix.html index ab9c0cb84bd..274f2489ecf 100644 --- a/docs/new-architecture-appendix.html +++ b/docs/new-architecture-appendix.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-intro.html b/docs/new-architecture-intro.html index 7118dd62aa3..48e7d22401f 100644 --- a/docs/new-architecture-intro.html +++ b/docs/new-architecture-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-library-android.html b/docs/new-architecture-library-android.html index f5cbe24fc97..a627faf73c4 100644 --- a/docs/new-architecture-library-android.html +++ b/docs/new-architecture-library-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-library-intro.html b/docs/new-architecture-library-intro.html index 04b3ed8f3f1..c8189d67f6c 100644 --- a/docs/new-architecture-library-intro.html +++ b/docs/new-architecture-library-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-library-ios.html b/docs/new-architecture-library-ios.html index b445fb7127f..aa8a9188a36 100644 Binary files a/docs/new-architecture-library-ios.html and b/docs/new-architecture-library-ios.html differ diff --git a/docs/new-architecture-troubleshooting.html b/docs/new-architecture-troubleshooting.html index a70e0e36a1f..988e0d6a239 100644 --- a/docs/new-architecture-troubleshooting.html +++ b/docs/new-architecture-troubleshooting.html @@ -17,7 +17,7 @@ - + diff --git a/docs/new-architecture-turbo-modules.html b/docs/new-architecture-turbo-modules.html index 6652b48ef21..215ded7e971 100644 --- a/docs/new-architecture-turbo-modules.html +++ b/docs/new-architecture-turbo-modules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/accessibility.html b/docs/next/accessibility.html index cdae0d579b8..20cef8bb2da 100644 --- a/docs/next/accessibility.html +++ b/docs/next/accessibility.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/accessibilityinfo.html b/docs/next/accessibilityinfo.html index 593f0b4d536..6ffc79afee8 100644 --- a/docs/next/accessibilityinfo.html +++ b/docs/next/accessibilityinfo.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/actionsheetios.html b/docs/next/actionsheetios.html index 70e2aaf2e74..e682b356a9c 100644 --- a/docs/next/actionsheetios.html +++ b/docs/next/actionsheetios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/activityindicator.html b/docs/next/activityindicator.html index 5be74251587..f152cb4d50d 100644 --- a/docs/next/activityindicator.html +++ b/docs/next/activityindicator.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/alert.html b/docs/next/alert.html index 5b6d85654cf..6efb2dd338e 100644 --- a/docs/next/alert.html +++ b/docs/next/alert.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/alertios.html b/docs/next/alertios.html index c3c2ea2c483..2ac7901f454 100644 --- a/docs/next/alertios.html +++ b/docs/next/alertios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/animated.html b/docs/next/animated.html index 7fb6bd9ffc8..3778bfadd50 100644 --- a/docs/next/animated.html +++ b/docs/next/animated.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/animatedvalue.html b/docs/next/animatedvalue.html index 42e6a40da10..de24c2961ea 100644 --- a/docs/next/animatedvalue.html +++ b/docs/next/animatedvalue.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/animatedvaluexy.html b/docs/next/animatedvaluexy.html index 642cc38b692..533c0e26f5e 100644 --- a/docs/next/animatedvaluexy.html +++ b/docs/next/animatedvaluexy.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/animations.html b/docs/next/animations.html index 94fcb938132..88c34913774 100644 --- a/docs/next/animations.html +++ b/docs/next/animations.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/app-extensions.html b/docs/next/app-extensions.html index e5aafcf8ef3..5fec00e9584 100644 --- a/docs/next/app-extensions.html +++ b/docs/next/app-extensions.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/appearance.html b/docs/next/appearance.html index 04cd1ea5602..e36891ed549 100644 --- a/docs/next/appearance.html +++ b/docs/next/appearance.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/appregistry.html b/docs/next/appregistry.html index c9681f55cd7..1fd793338ce 100644 --- a/docs/next/appregistry.html +++ b/docs/next/appregistry.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/appstate.html b/docs/next/appstate.html index f7e3fe0aedb..40a5ef0da1b 100644 --- a/docs/next/appstate.html +++ b/docs/next/appstate.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/architecture-glossary.html b/docs/next/architecture-glossary.html index 85a5ed51ca1..4cb367f06e8 100644 --- a/docs/next/architecture-glossary.html +++ b/docs/next/architecture-glossary.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/architecture-overview.html b/docs/next/architecture-overview.html index d1885badb60..e2a7817118d 100644 --- a/docs/next/architecture-overview.html +++ b/docs/next/architecture-overview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/asyncstorage.html b/docs/next/asyncstorage.html index a62b2e36043..0417d90eafa 100644 --- a/docs/next/asyncstorage.html +++ b/docs/next/asyncstorage.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/backhandler.html b/docs/next/backhandler.html index d8f89775277..f8071ec8ce0 100644 --- a/docs/next/backhandler.html +++ b/docs/next/backhandler.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/build-speed.html b/docs/next/build-speed.html index f3e25f96c2a..bd293e2d9dc 100644 --- a/docs/next/build-speed.html +++ b/docs/next/build-speed.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/building-for-tv.html b/docs/next/building-for-tv.html index a1353077b25..e0bfabdf225 100644 --- a/docs/next/building-for-tv.html +++ b/docs/next/building-for-tv.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/button.html b/docs/next/button.html index 96d4d84319e..8bc25f02cad 100644 --- a/docs/next/button.html +++ b/docs/next/button.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/checkbox.html b/docs/next/checkbox.html index 7848ef0e524..a12ccdbfae0 100644 --- a/docs/next/checkbox.html +++ b/docs/next/checkbox.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/clipboard.html b/docs/next/clipboard.html index 770624abfe7..a795858bacd 100644 --- a/docs/next/clipboard.html +++ b/docs/next/clipboard.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/colors.html b/docs/next/colors.html index 2474c0391b6..f4c7d64d48a 100644 --- a/docs/next/colors.html +++ b/docs/next/colors.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/communication-android.html b/docs/next/communication-android.html index c012f526516..d79eafb4ebd 100644 --- a/docs/next/communication-android.html +++ b/docs/next/communication-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/communication-ios.html b/docs/next/communication-ios.html index d6966fddf61..e15fb6e64f4 100644 --- a/docs/next/communication-ios.html +++ b/docs/next/communication-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/components-and-apis.html b/docs/next/components-and-apis.html index 579caca6c35..06b01b3e4f1 100644 --- a/docs/next/components-and-apis.html +++ b/docs/next/components-and-apis.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/custom-webview-android.html b/docs/next/custom-webview-android.html index 0c2ec66597c..a1e0c68f2ed 100644 --- a/docs/next/custom-webview-android.html +++ b/docs/next/custom-webview-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/custom-webview-ios.html b/docs/next/custom-webview-ios.html index 4b425dad43d..550c9db1ac0 100644 --- a/docs/next/custom-webview-ios.html +++ b/docs/next/custom-webview-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/datepickerandroid.html b/docs/next/datepickerandroid.html index b9deb5b8ad8..9eb457ad723 100644 --- a/docs/next/datepickerandroid.html +++ b/docs/next/datepickerandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/datepickerios.html b/docs/next/datepickerios.html index a1f3bad36d9..71408c21030 100644 --- a/docs/next/datepickerios.html +++ b/docs/next/datepickerios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/debugging-release-builds.html b/docs/next/debugging-release-builds.html index 09e79d9e0c5..bad18f40cc0 100644 --- a/docs/next/debugging-release-builds.html +++ b/docs/next/debugging-release-builds.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/debugging.html b/docs/next/debugging.html index 33a1be3262d..33d75e6e86f 100644 --- a/docs/next/debugging.html +++ b/docs/next/debugging.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/devsettings.html b/docs/next/devsettings.html index ebfcc09ad3b..5d66586059c 100644 --- a/docs/next/devsettings.html +++ b/docs/next/devsettings.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/dimensions.html b/docs/next/dimensions.html index b8584cf07c3..a2eb4defe19 100644 --- a/docs/next/dimensions.html +++ b/docs/next/dimensions.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/direct-manipulation.html b/docs/next/direct-manipulation.html index b216e6c811f..02d14e56a89 100644 --- a/docs/next/direct-manipulation.html +++ b/docs/next/direct-manipulation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/drawerlayoutandroid.html b/docs/next/drawerlayoutandroid.html index 7f320471e02..06681e05a96 100644 --- a/docs/next/drawerlayoutandroid.html +++ b/docs/next/drawerlayoutandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/dynamiccolorios.html b/docs/next/dynamiccolorios.html index 4d2196c14bd..ead5c3033f7 100644 --- a/docs/next/dynamiccolorios.html +++ b/docs/next/dynamiccolorios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/easing.html b/docs/next/easing.html index 0d1e92c377b..da3842d96e6 100644 --- a/docs/next/easing.html +++ b/docs/next/easing.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/environment-setup.html b/docs/next/environment-setup.html index ea36b535168..efcbc27bbd7 100644 --- a/docs/next/environment-setup.html +++ b/docs/next/environment-setup.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/fabric-renderer.html b/docs/next/fabric-renderer.html index 2c1ec235ef6..b15c138dbd6 100644 --- a/docs/next/fabric-renderer.html +++ b/docs/next/fabric-renderer.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/fast-refresh.html b/docs/next/fast-refresh.html index 9042a69de01..4137842622c 100644 --- a/docs/next/fast-refresh.html +++ b/docs/next/fast-refresh.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/flatlist.html b/docs/next/flatlist.html index aa510a1e79c..07eb7eb80b7 100644 --- a/docs/next/flatlist.html +++ b/docs/next/flatlist.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/flexbox.html b/docs/next/flexbox.html index 158987a5b07..9756031614c 100644 --- a/docs/next/flexbox.html +++ b/docs/next/flexbox.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/gesture-responder-system.html b/docs/next/gesture-responder-system.html index 1634474c8d3..eac796d998c 100644 --- a/docs/next/gesture-responder-system.html +++ b/docs/next/gesture-responder-system.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/getting-started.html b/docs/next/getting-started.html index e4a0e33daef..f5f3c49e479 100644 --- a/docs/next/getting-started.html +++ b/docs/next/getting-started.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/handling-text-input.html b/docs/next/handling-text-input.html index 781bbfbe387..fa8825a22ee 100644 --- a/docs/next/handling-text-input.html +++ b/docs/next/handling-text-input.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/handling-touches.html b/docs/next/handling-touches.html index 8d2cb2b9137..3c0c22c826d 100644 --- a/docs/next/handling-touches.html +++ b/docs/next/handling-touches.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/headless-js-android.html b/docs/next/headless-js-android.html index 645c7d1cf24..77c4e258b0f 100644 --- a/docs/next/headless-js-android.html +++ b/docs/next/headless-js-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/height-and-width.html b/docs/next/height-and-width.html index fe96f54480d..97f71b1dbb5 100644 --- a/docs/next/height-and-width.html +++ b/docs/next/height-and-width.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/hermes.html b/docs/next/hermes.html index 9e528e023fe..b5a75d6905f 100644 --- a/docs/next/hermes.html +++ b/docs/next/hermes.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/image-style-props.html b/docs/next/image-style-props.html index f45b72ea465..a6e9118c02d 100644 --- a/docs/next/image-style-props.html +++ b/docs/next/image-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/image.html b/docs/next/image.html index b3e6155f71a..62d294ddb55 100644 --- a/docs/next/image.html +++ b/docs/next/image.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/imagebackground.html b/docs/next/imagebackground.html index 884d447daca..e10752250a9 100644 --- a/docs/next/imagebackground.html +++ b/docs/next/imagebackground.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/imagepickerios.html b/docs/next/imagepickerios.html index 9e9c7347991..3c220a60c7c 100644 --- a/docs/next/imagepickerios.html +++ b/docs/next/imagepickerios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/images.html b/docs/next/images.html index b7ef7d7d482..38f5b9e1840 100644 --- a/docs/next/images.html +++ b/docs/next/images.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/improvingux.html b/docs/next/improvingux.html index b882a794c11..e3648c8d546 100644 --- a/docs/next/improvingux.html +++ b/docs/next/improvingux.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/inputaccessoryview.html b/docs/next/inputaccessoryview.html index dfa036f6412..656ae78be98 100644 --- a/docs/next/inputaccessoryview.html +++ b/docs/next/inputaccessoryview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/integration-with-android-fragment.html b/docs/next/integration-with-android-fragment.html index 853761f98bf..3b8298bda71 100644 --- a/docs/next/integration-with-android-fragment.html +++ b/docs/next/integration-with-android-fragment.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/integration-with-existing-apps.html b/docs/next/integration-with-existing-apps.html index e8849485995..d4d4d9adc78 100644 --- a/docs/next/integration-with-existing-apps.html +++ b/docs/next/integration-with-existing-apps.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/interactionmanager.html b/docs/next/interactionmanager.html index c08abecdc98..8fcf2fc08a2 100644 --- a/docs/next/interactionmanager.html +++ b/docs/next/interactionmanager.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/intro-react-native-components.html b/docs/next/intro-react-native-components.html index 69b70ad55a6..f10d7d34aa0 100644 --- a/docs/next/intro-react-native-components.html +++ b/docs/next/intro-react-native-components.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/intro-react.html b/docs/next/intro-react.html index 9ac3ea64374..2986d87fa17 100644 --- a/docs/next/intro-react.html +++ b/docs/next/intro-react.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/javascript-environment.html b/docs/next/javascript-environment.html index 96089cd4913..73d511b2e4e 100644 --- a/docs/next/javascript-environment.html +++ b/docs/next/javascript-environment.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/keyboard.html b/docs/next/keyboard.html index 4b975c2ee18..d6529c260d0 100644 --- a/docs/next/keyboard.html +++ b/docs/next/keyboard.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/keyboardavoidingview.html b/docs/next/keyboardavoidingview.html index 07b6bdd6b6a..344e999f029 100644 --- a/docs/next/keyboardavoidingview.html +++ b/docs/next/keyboardavoidingview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/layout-props.html b/docs/next/layout-props.html index 81d1645b4a8..387e96b7d11 100644 --- a/docs/next/layout-props.html +++ b/docs/next/layout-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/layoutanimation.html b/docs/next/layoutanimation.html index ed2fc61b34a..1969a7cf564 100644 --- a/docs/next/layoutanimation.html +++ b/docs/next/layoutanimation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/layoutevent.html b/docs/next/layoutevent.html index e6b85032963..20e997dbe8a 100644 --- a/docs/next/layoutevent.html +++ b/docs/next/layoutevent.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/libraries.html b/docs/next/libraries.html index c52d33129f5..03938db5c1b 100644 --- a/docs/next/libraries.html +++ b/docs/next/libraries.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/linking-libraries-ios.html b/docs/next/linking-libraries-ios.html index b0baa094ff4..0dbb25b12b0 100644 --- a/docs/next/linking-libraries-ios.html +++ b/docs/next/linking-libraries-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/linking.html b/docs/next/linking.html index 00632d4c482..5fb884e2f5e 100644 --- a/docs/next/linking.html +++ b/docs/next/linking.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/metro.html b/docs/next/metro.html index 822bc387465..906f3bd5a59 100644 --- a/docs/next/metro.html +++ b/docs/next/metro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/modal.html b/docs/next/modal.html index da461471d77..0810a7af43a 100644 --- a/docs/next/modal.html +++ b/docs/next/modal.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/more-resources.html b/docs/next/more-resources.html index 267d7af5053..b404eb6712d 100644 --- a/docs/next/more-resources.html +++ b/docs/next/more-resources.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-components-android.html b/docs/next/native-components-android.html index 687168b8e4e..ca951c9b777 100644 --- a/docs/next/native-components-android.html +++ b/docs/next/native-components-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-components-ios.html b/docs/next/native-components-ios.html index 62d3caa5f33..20c6f268a93 100644 --- a/docs/next/native-components-ios.html +++ b/docs/next/native-components-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-debugging.html b/docs/next/native-debugging.html index d4cff892140..a7671768e2e 100644 --- a/docs/next/native-debugging.html +++ b/docs/next/native-debugging.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-modules-android.html b/docs/next/native-modules-android.html index 323f77f2701..e2af96cf3c9 100644 --- a/docs/next/native-modules-android.html +++ b/docs/next/native-modules-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-modules-intro.html b/docs/next/native-modules-intro.html index 0c573794955..0095c88c729 100644 --- a/docs/next/native-modules-intro.html +++ b/docs/next/native-modules-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-modules-ios.html b/docs/next/native-modules-ios.html index eb3a3d9c625..05450150f5c 100644 --- a/docs/next/native-modules-ios.html +++ b/docs/next/native-modules-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/native-modules-setup.html b/docs/next/native-modules-setup.html index 70ea6042406..98906a817fe 100644 --- a/docs/next/native-modules-setup.html +++ b/docs/next/native-modules-setup.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/navigation.html b/docs/next/navigation.html index 238bdba2ae0..f96c724eaae 100644 --- a/docs/next/navigation.html +++ b/docs/next/navigation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/netinfo.html b/docs/next/netinfo.html index babb5411ce9..e632bfc3827 100644 --- a/docs/next/netinfo.html +++ b/docs/next/netinfo.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/network.html b/docs/next/network.html index a678ee17d79..8ba7b0a0ed2 100644 --- a/docs/next/network.html +++ b/docs/next/network.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-app-intro.html b/docs/next/new-architecture-app-intro.html index a169e8fbca9..2eaa1ed6f50 100644 --- a/docs/next/new-architecture-app-intro.html +++ b/docs/next/new-architecture-app-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-app-modules-ios.html b/docs/next/new-architecture-app-modules-ios.html index dd1a889e3bf..7991ede890e 100644 --- a/docs/next/new-architecture-app-modules-ios.html +++ b/docs/next/new-architecture-app-modules-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-app-renderer-android.html b/docs/next/new-architecture-app-renderer-android.html index 50598e354e4..53b3197b6aa 100644 --- a/docs/next/new-architecture-app-renderer-android.html +++ b/docs/next/new-architecture-app-renderer-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-app-renderer-ios.html b/docs/next/new-architecture-app-renderer-ios.html index ee6935008e0..62012aabe7d 100644 --- a/docs/next/new-architecture-app-renderer-ios.html +++ b/docs/next/new-architecture-app-renderer-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-appendix.html b/docs/next/new-architecture-appendix.html index c3e5251106a..7958211d173 100644 --- a/docs/next/new-architecture-appendix.html +++ b/docs/next/new-architecture-appendix.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-intro.html b/docs/next/new-architecture-intro.html index 729ed546399..ce579dd9cbf 100644 --- a/docs/next/new-architecture-intro.html +++ b/docs/next/new-architecture-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-library-android.html b/docs/next/new-architecture-library-android.html index da4499ab36a..dd8bd1b4403 100644 --- a/docs/next/new-architecture-library-android.html +++ b/docs/next/new-architecture-library-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-library-intro.html b/docs/next/new-architecture-library-intro.html index 6a40da864af..50f1d0f284d 100644 --- a/docs/next/new-architecture-library-intro.html +++ b/docs/next/new-architecture-library-intro.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-library-ios.html b/docs/next/new-architecture-library-ios.html index 899c5490e3d..8dbf58f8d76 100644 Binary files a/docs/next/new-architecture-library-ios.html and b/docs/next/new-architecture-library-ios.html differ diff --git a/docs/next/new-architecture-troubleshooting.html b/docs/next/new-architecture-troubleshooting.html index d3f8f230ecf..31697b2a37f 100644 --- a/docs/next/new-architecture-troubleshooting.html +++ b/docs/next/new-architecture-troubleshooting.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/new-architecture-turbo-modules.html b/docs/next/new-architecture-turbo-modules.html index 79ccb2061af..854e2e8edc3 100644 --- a/docs/next/new-architecture-turbo-modules.html +++ b/docs/next/new-architecture-turbo-modules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/optimizing-flatlist-configuration.html b/docs/next/optimizing-flatlist-configuration.html index 5d8b470aa2b..25c4752dcc7 100644 --- a/docs/next/optimizing-flatlist-configuration.html +++ b/docs/next/optimizing-flatlist-configuration.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/optimizing-javascript-loading.html b/docs/next/optimizing-javascript-loading.html index 121723d2331..6729d734a0f 100644 --- a/docs/next/optimizing-javascript-loading.html +++ b/docs/next/optimizing-javascript-loading.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/other-debugging-methods.html b/docs/next/other-debugging-methods.html index a967a6a08b0..1dce57efd06 100644 --- a/docs/next/other-debugging-methods.html +++ b/docs/next/other-debugging-methods.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/out-of-tree-platforms.html b/docs/next/out-of-tree-platforms.html index 1620c09118f..3c1ecb07480 100644 --- a/docs/next/out-of-tree-platforms.html +++ b/docs/next/out-of-tree-platforms.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/panresponder.html b/docs/next/panresponder.html index 78b6c5d443c..3f63674555d 100644 --- a/docs/next/panresponder.html +++ b/docs/next/panresponder.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/performance.html b/docs/next/performance.html index 5d10e2516a0..9009babcb3a 100644 --- a/docs/next/performance.html +++ b/docs/next/performance.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/permissionsandroid.html b/docs/next/permissionsandroid.html index cb11ef6d926..6f025225112 100644 --- a/docs/next/permissionsandroid.html +++ b/docs/next/permissionsandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/pixelratio.html b/docs/next/pixelratio.html index a54ed2fb6a9..00652524b02 100644 --- a/docs/next/pixelratio.html +++ b/docs/next/pixelratio.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/platform-specific-code.html b/docs/next/platform-specific-code.html index 81a9b353764..6120c30cbe8 100644 --- a/docs/next/platform-specific-code.html +++ b/docs/next/platform-specific-code.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/platform.html b/docs/next/platform.html index 7a5235e7c97..ace61fb86ea 100644 --- a/docs/next/platform.html +++ b/docs/next/platform.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/platformcolor.html b/docs/next/platformcolor.html index 93b3a524053..dea768e0d90 100644 --- a/docs/next/platformcolor.html +++ b/docs/next/platformcolor.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/pressable.html b/docs/next/pressable.html index 177693f278a..1b43af0dba8 100644 --- a/docs/next/pressable.html +++ b/docs/next/pressable.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/pressevent.html b/docs/next/pressevent.html index ccc2f3b6803..7ec64c9cd4f 100644 --- a/docs/next/pressevent.html +++ b/docs/next/pressevent.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/profile-hermes.html b/docs/next/profile-hermes.html index 0943be16369..9acfda1aafb 100644 --- a/docs/next/profile-hermes.html +++ b/docs/next/profile-hermes.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/profiling.html b/docs/next/profiling.html index db9da6642e2..66fec395226 100644 --- a/docs/next/profiling.html +++ b/docs/next/profiling.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/progressbarandroid.html b/docs/next/progressbarandroid.html index a885e42ccd3..6314fffdc05 100644 --- a/docs/next/progressbarandroid.html +++ b/docs/next/progressbarandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/progressviewios.html b/docs/next/progressviewios.html index e1894db2952..a94e05d0cca 100644 --- a/docs/next/progressviewios.html +++ b/docs/next/progressviewios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/props.html b/docs/next/props.html index dee7f099ab1..f3753e89e26 100644 --- a/docs/next/props.html +++ b/docs/next/props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/publishing-to-app-store.html b/docs/next/publishing-to-app-store.html index b596146568f..9237f02f33f 100644 --- a/docs/next/publishing-to-app-store.html +++ b/docs/next/publishing-to-app-store.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/pushnotificationios.html b/docs/next/pushnotificationios.html index e84a09e7d63..3855a8d1d46 100644 --- a/docs/next/pushnotificationios.html +++ b/docs/next/pushnotificationios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/ram-bundles-inline-requires.html b/docs/next/ram-bundles-inline-requires.html index 7694f3ae521..41a093fc8b6 100644 Binary files a/docs/next/ram-bundles-inline-requires.html and b/docs/next/ram-bundles-inline-requires.html differ diff --git a/docs/next/react-18-and-react-native.html b/docs/next/react-18-and-react-native.html index b9995120068..29af566ffa9 100644 --- a/docs/next/react-18-and-react-native.html +++ b/docs/next/react-18-and-react-native.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/react-devtools.html b/docs/next/react-devtools.html index 053d26834b6..7a41ba8caa1 100644 --- a/docs/next/react-devtools.html +++ b/docs/next/react-devtools.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/react-native-gradle-plugin.html b/docs/next/react-native-gradle-plugin.html index 0473e4dbda8..fdc50c763dc 100644 --- a/docs/next/react-native-gradle-plugin.html +++ b/docs/next/react-native-gradle-plugin.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/react-node.html b/docs/next/react-node.html index 275c0904473..aa22bf4e6e3 100644 --- a/docs/next/react-node.html +++ b/docs/next/react-node.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/rect.html b/docs/next/rect.html index 5949e2d8a0e..11c71c891d3 100644 --- a/docs/next/rect.html +++ b/docs/next/rect.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/rectorsize.html b/docs/next/rectorsize.html index 35656086475..424aca52fcf 100644 --- a/docs/next/rectorsize.html +++ b/docs/next/rectorsize.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/refreshcontrol.html b/docs/next/refreshcontrol.html index 63d3fef84c4..fc3400b2e9d 100644 --- a/docs/next/refreshcontrol.html +++ b/docs/next/refreshcontrol.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/removing-default-permissions.html b/docs/next/removing-default-permissions.html index 0c2b9a4f5cf..7cdc299ebf0 100644 Binary files a/docs/next/removing-default-permissions.html and b/docs/next/removing-default-permissions.html differ diff --git a/docs/next/render-pipeline.html b/docs/next/render-pipeline.html index 670151280b5..cfac22a1f3d 100644 --- a/docs/next/render-pipeline.html +++ b/docs/next/render-pipeline.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/roottag.html b/docs/next/roottag.html index 0b72dd947fc..050f874c9d6 100644 --- a/docs/next/roottag.html +++ b/docs/next/roottag.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/running-on-device.html b/docs/next/running-on-device.html index 067f2542233..d6a0da6e43e 100644 --- a/docs/next/running-on-device.html +++ b/docs/next/running-on-device.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/running-on-simulator-ios.html b/docs/next/running-on-simulator-ios.html index 932b6892e06..ac8b278c87d 100644 --- a/docs/next/running-on-simulator-ios.html +++ b/docs/next/running-on-simulator-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/safeareaview.html b/docs/next/safeareaview.html index 1a8787e5ffe..eb1736600c8 100644 --- a/docs/next/safeareaview.html +++ b/docs/next/safeareaview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/sample-application-movies.html b/docs/next/sample-application-movies.html index 2d019ce78fb..2402baed29e 100644 --- a/docs/next/sample-application-movies.html +++ b/docs/next/sample-application-movies.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/scrollview.html b/docs/next/scrollview.html index 1465d08af43..ccffb6a0903 100644 --- a/docs/next/scrollview.html +++ b/docs/next/scrollview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/sectionlist.html b/docs/next/sectionlist.html index 1a7b1523fbc..68bb326fb04 100644 --- a/docs/next/sectionlist.html +++ b/docs/next/sectionlist.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/security.html b/docs/next/security.html index ba7a2fba02d..aee7a67aba0 100644 --- a/docs/next/security.html +++ b/docs/next/security.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/segmentedcontrolios.html b/docs/next/segmentedcontrolios.html index 5ba95cd800a..5786820ca02 100644 --- a/docs/next/segmentedcontrolios.html +++ b/docs/next/segmentedcontrolios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/settings.html b/docs/next/settings.html index d49dda074d4..42fd5998d70 100644 --- a/docs/next/settings.html +++ b/docs/next/settings.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/shadow-props.html b/docs/next/shadow-props.html index 000c8b79330..71bbc696bae 100644 --- a/docs/next/shadow-props.html +++ b/docs/next/shadow-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/share.html b/docs/next/share.html index d39993b6ee6..1aed4c01c2d 100644 --- a/docs/next/share.html +++ b/docs/next/share.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/signed-apk-android.html b/docs/next/signed-apk-android.html index 8774d50118c..fbdfaa73b6d 100644 --- a/docs/next/signed-apk-android.html +++ b/docs/next/signed-apk-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/slider.html b/docs/next/slider.html index a3937edb879..dde39db9a40 100644 --- a/docs/next/slider.html +++ b/docs/next/slider.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/speeding-ci-builds.html b/docs/next/speeding-ci-builds.html index 8c661c1e635..a025b147585 100644 --- a/docs/next/speeding-ci-builds.html +++ b/docs/next/speeding-ci-builds.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/state.html b/docs/next/state.html index f674e951c44..b9bf02ebb7f 100644 --- a/docs/next/state.html +++ b/docs/next/state.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/statusbar.html b/docs/next/statusbar.html index 4afa3921574..1899e3ab5b2 100644 --- a/docs/next/statusbar.html +++ b/docs/next/statusbar.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/style.html b/docs/next/style.html index 25d50329a2f..0c6be320c2c 100644 --- a/docs/next/style.html +++ b/docs/next/style.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/stylesheet.html b/docs/next/stylesheet.html index fbc2d368c30..0cd69979a56 100644 --- a/docs/next/stylesheet.html +++ b/docs/next/stylesheet.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/switch.html b/docs/next/switch.html index 96208405ed6..7fae4d41fa1 100644 --- a/docs/next/switch.html +++ b/docs/next/switch.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/symbolication.html b/docs/next/symbolication.html index 9c7f4398924..dc7b3a9e480 100644 --- a/docs/next/symbolication.html +++ b/docs/next/symbolication.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/systrace.html b/docs/next/systrace.html index 8dec377df59..7971a1b20ec 100644 --- a/docs/next/systrace.html +++ b/docs/next/systrace.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/testing-overview.html b/docs/next/testing-overview.html index 12ddda6b17b..de1e8b707f2 100644 --- a/docs/next/testing-overview.html +++ b/docs/next/testing-overview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/text-style-props.html b/docs/next/text-style-props.html index b082736a36b..f9e26bf7be6 100644 --- a/docs/next/text-style-props.html +++ b/docs/next/text-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/text.html b/docs/next/text.html index 20c0bf209c1..657f9c2c3fa 100644 --- a/docs/next/text.html +++ b/docs/next/text.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/textinput.html b/docs/next/textinput.html index 887535c179f..95da120fdde 100644 --- a/docs/next/textinput.html +++ b/docs/next/textinput.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/backward-compatibility-fabric-components.html b/docs/next/the-new-architecture/backward-compatibility-fabric-components.html index 09ebf2949ed..91941a52867 100644 --- a/docs/next/the-new-architecture/backward-compatibility-fabric-components.html +++ b/docs/next/the-new-architecture/backward-compatibility-fabric-components.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/backward-compatibility-turbomodules.html b/docs/next/the-new-architecture/backward-compatibility-turbomodules.html index 888a1237685..7528b523bad 100644 --- a/docs/next/the-new-architecture/backward-compatibility-turbomodules.html +++ b/docs/next/the-new-architecture/backward-compatibility-turbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/backward-compatibility.html b/docs/next/the-new-architecture/backward-compatibility.html index 303b2dd16b0..9b4329773c1 100644 --- a/docs/next/the-new-architecture/backward-compatibility.html +++ b/docs/next/the-new-architecture/backward-compatibility.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/cxx-custom-types.html b/docs/next/the-new-architecture/cxx-custom-types.html index 2d0d560dc45..3529cb2047d 100644 --- a/docs/next/the-new-architecture/cxx-custom-types.html +++ b/docs/next/the-new-architecture/cxx-custom-types.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/cxx-cxxturbomodules.html b/docs/next/the-new-architecture/cxx-cxxturbomodules.html index c86f8c73e6d..48a77db2595 100644 --- a/docs/next/the-new-architecture/cxx-cxxturbomodules.html +++ b/docs/next/the-new-architecture/cxx-cxxturbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/landing-page.html b/docs/next/the-new-architecture/landing-page.html index 8e74461e108..7bdf5e86f87 100644 --- a/docs/next/the-new-architecture/landing-page.html +++ b/docs/next/the-new-architecture/landing-page.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/pillars-codegen.html b/docs/next/the-new-architecture/pillars-codegen.html index 1992a481122..5f77cb987d9 100644 --- a/docs/next/the-new-architecture/pillars-codegen.html +++ b/docs/next/the-new-architecture/pillars-codegen.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/pillars-fabric-components.html b/docs/next/the-new-architecture/pillars-fabric-components.html index b164dab18a9..0947f4efe95 100644 --- a/docs/next/the-new-architecture/pillars-fabric-components.html +++ b/docs/next/the-new-architecture/pillars-fabric-components.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/pillars-turbomodules.html b/docs/next/the-new-architecture/pillars-turbomodules.html index 8eca7df26b9..56e157f95de 100644 --- a/docs/next/the-new-architecture/pillars-turbomodules.html +++ b/docs/next/the-new-architecture/pillars-turbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/pillars.html b/docs/next/the-new-architecture/pillars.html index e46cf702a88..e518317ab3b 100644 Binary files a/docs/next/the-new-architecture/pillars.html and b/docs/next/the-new-architecture/pillars.html differ diff --git a/docs/next/the-new-architecture/use-app-template.html b/docs/next/the-new-architecture/use-app-template.html index 16c20f67501..bc579736a8f 100644 --- a/docs/next/the-new-architecture/use-app-template.html +++ b/docs/next/the-new-architecture/use-app-template.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/the-new-architecture/why.html b/docs/next/the-new-architecture/why.html index e46eb45d68c..fe72c3c5522 100644 --- a/docs/next/the-new-architecture/why.html +++ b/docs/next/the-new-architecture/why.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/threading-model.html b/docs/next/threading-model.html index 378637d6f42..7a7840e6e44 100644 --- a/docs/next/threading-model.html +++ b/docs/next/threading-model.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/timepickerandroid.html b/docs/next/timepickerandroid.html index 585bf5ff701..6182e6cc980 100644 --- a/docs/next/timepickerandroid.html +++ b/docs/next/timepickerandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/timers.html b/docs/next/timers.html index 14877cb5d1f..b5983d24e46 100644 --- a/docs/next/timers.html +++ b/docs/next/timers.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/toastandroid.html b/docs/next/toastandroid.html index 892d45ce03b..6501bea695c 100644 --- a/docs/next/toastandroid.html +++ b/docs/next/toastandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/touchablehighlight.html b/docs/next/touchablehighlight.html index f35768ff96d..c9197ed3535 100644 --- a/docs/next/touchablehighlight.html +++ b/docs/next/touchablehighlight.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/touchablenativefeedback.html b/docs/next/touchablenativefeedback.html index afd299646b1..eb48a59af8e 100644 --- a/docs/next/touchablenativefeedback.html +++ b/docs/next/touchablenativefeedback.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/touchableopacity.html b/docs/next/touchableopacity.html index 8128917e493..2e22e99606e 100644 --- a/docs/next/touchableopacity.html +++ b/docs/next/touchableopacity.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/touchablewithoutfeedback.html b/docs/next/touchablewithoutfeedback.html index e0c6ff40a9e..510e8934f54 100644 --- a/docs/next/touchablewithoutfeedback.html +++ b/docs/next/touchablewithoutfeedback.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/transforms.html b/docs/next/transforms.html index d9539160c1c..b6c62343fee 100644 --- a/docs/next/transforms.html +++ b/docs/next/transforms.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/troubleshooting.html b/docs/next/troubleshooting.html index 71320e88961..04f63db14e7 100644 --- a/docs/next/troubleshooting.html +++ b/docs/next/troubleshooting.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/tutorial.html b/docs/next/tutorial.html index 17ecf611234..2a48873faf8 100644 --- a/docs/next/tutorial.html +++ b/docs/next/tutorial.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/typescript.html b/docs/next/typescript.html index 531be4b0221..afdf23f69d8 100644 --- a/docs/next/typescript.html +++ b/docs/next/typescript.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/upgrading.html b/docs/next/upgrading.html index 931feb16529..8fb8d2c3c9e 100644 --- a/docs/next/upgrading.html +++ b/docs/next/upgrading.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/usecolorscheme.html b/docs/next/usecolorscheme.html index 8c64977b089..0b1ce32255e 100644 --- a/docs/next/usecolorscheme.html +++ b/docs/next/usecolorscheme.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/usewindowdimensions.html b/docs/next/usewindowdimensions.html index 93aa2385b38..cd4640d90b2 100644 --- a/docs/next/usewindowdimensions.html +++ b/docs/next/usewindowdimensions.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/using-a-listview.html b/docs/next/using-a-listview.html index 1f96fad5903..9a1dab5d71e 100644 --- a/docs/next/using-a-listview.html +++ b/docs/next/using-a-listview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/using-a-scrollview.html b/docs/next/using-a-scrollview.html index 3d62f951e80..de25403909d 100644 --- a/docs/next/using-a-scrollview.html +++ b/docs/next/using-a-scrollview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/vibration.html b/docs/next/vibration.html index 8a6881f875e..cf070c45edb 100644 --- a/docs/next/vibration.html +++ b/docs/next/vibration.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/view-flattening.html b/docs/next/view-flattening.html index 1bc17fad1c1..f11b8505abb 100644 --- a/docs/next/view-flattening.html +++ b/docs/next/view-flattening.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/view-style-props.html b/docs/next/view-style-props.html index c5dbe27afd0..b51e6f327d8 100644 --- a/docs/next/view-style-props.html +++ b/docs/next/view-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/view.html b/docs/next/view.html index 1984e153816..3df183f3fab 100644 --- a/docs/next/view.html +++ b/docs/next/view.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/viewpagerandroid.html b/docs/next/viewpagerandroid.html index be53e31919b..7455ce602c4 100644 --- a/docs/next/viewpagerandroid.html +++ b/docs/next/viewpagerandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/viewtoken.html b/docs/next/viewtoken.html index e8d65627d71..534388ff995 100644 --- a/docs/next/viewtoken.html +++ b/docs/next/viewtoken.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/virtualizedlist.html b/docs/next/virtualizedlist.html index b521633f394..b2491ea8d10 100644 --- a/docs/next/virtualizedlist.html +++ b/docs/next/virtualizedlist.html @@ -17,7 +17,7 @@ - + diff --git a/docs/next/xplat-implementation.html b/docs/next/xplat-implementation.html index 38ddae266a2..52d9bb05158 100644 --- a/docs/next/xplat-implementation.html +++ b/docs/next/xplat-implementation.html @@ -17,7 +17,7 @@ - + diff --git a/docs/optimizing-flatlist-configuration.html b/docs/optimizing-flatlist-configuration.html index 5b099b26728..86af0c9a9ee 100644 --- a/docs/optimizing-flatlist-configuration.html +++ b/docs/optimizing-flatlist-configuration.html @@ -17,7 +17,7 @@ - + diff --git a/docs/optimizing-javascript-loading.html b/docs/optimizing-javascript-loading.html index 016eaa7f286..f930c5dd44a 100644 --- a/docs/optimizing-javascript-loading.html +++ b/docs/optimizing-javascript-loading.html @@ -17,7 +17,7 @@ - + diff --git a/docs/other-debugging-methods.html b/docs/other-debugging-methods.html index ef3ae21db87..2811c3856e4 100644 --- a/docs/other-debugging-methods.html +++ b/docs/other-debugging-methods.html @@ -17,7 +17,7 @@ - + diff --git a/docs/out-of-tree-platforms.html b/docs/out-of-tree-platforms.html index 589358a441e..26bac8c5927 100644 --- a/docs/out-of-tree-platforms.html +++ b/docs/out-of-tree-platforms.html @@ -17,7 +17,7 @@ - + diff --git a/docs/panresponder.html b/docs/panresponder.html index ccb20cf0b02..8f2d1b83a40 100644 Binary files a/docs/panresponder.html and b/docs/panresponder.html differ diff --git a/docs/performance.html b/docs/performance.html index 80131ba19e4..f1517432895 100644 --- a/docs/performance.html +++ b/docs/performance.html @@ -17,7 +17,7 @@ - + diff --git a/docs/permissionsandroid.html b/docs/permissionsandroid.html index ea6d26a772b..878dfdd33de 100644 --- a/docs/permissionsandroid.html +++ b/docs/permissionsandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/pixelratio.html b/docs/pixelratio.html index 1d04729d22d..1548adeaeb5 100644 --- a/docs/pixelratio.html +++ b/docs/pixelratio.html @@ -17,7 +17,7 @@ - + diff --git a/docs/platform-specific-code.html b/docs/platform-specific-code.html index 0651eeed5c9..712c67ac321 100644 --- a/docs/platform-specific-code.html +++ b/docs/platform-specific-code.html @@ -17,7 +17,7 @@ - + diff --git a/docs/platform.html b/docs/platform.html index c47d10166da..7d7a1bfbf09 100644 --- a/docs/platform.html +++ b/docs/platform.html @@ -17,7 +17,7 @@ - + diff --git a/docs/platformcolor.html b/docs/platformcolor.html index 92567624133..94df21f4d37 100644 --- a/docs/platformcolor.html +++ b/docs/platformcolor.html @@ -17,7 +17,7 @@ - + diff --git a/docs/pressable.html b/docs/pressable.html index 28a19ee30ec..88e29a41064 100644 --- a/docs/pressable.html +++ b/docs/pressable.html @@ -17,7 +17,7 @@ - + diff --git a/docs/pressevent.html b/docs/pressevent.html index 76ec2c3767f..bd2cc3d5f51 100644 --- a/docs/pressevent.html +++ b/docs/pressevent.html @@ -17,7 +17,7 @@ - + diff --git a/docs/profile-hermes.html b/docs/profile-hermes.html index 319d0f0bb49..bdf9959ccf2 100644 --- a/docs/profile-hermes.html +++ b/docs/profile-hermes.html @@ -17,7 +17,7 @@ - + diff --git a/docs/profiling.html b/docs/profiling.html index 39c1f8b858c..0bb4d490036 100644 --- a/docs/profiling.html +++ b/docs/profiling.html @@ -17,7 +17,7 @@ - + diff --git a/docs/progressbarandroid.html b/docs/progressbarandroid.html index b6f48e3a911..eb8b667f9ed 100644 --- a/docs/progressbarandroid.html +++ b/docs/progressbarandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/progressviewios.html b/docs/progressviewios.html index b86e8beafed..c0decc72b71 100644 --- a/docs/progressviewios.html +++ b/docs/progressviewios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/props.html b/docs/props.html index ce0c8689668..ad229780a19 100644 --- a/docs/props.html +++ b/docs/props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/publishing-to-app-store.html b/docs/publishing-to-app-store.html index 8f19384a722..bd24ea6d0da 100644 --- a/docs/publishing-to-app-store.html +++ b/docs/publishing-to-app-store.html @@ -17,7 +17,7 @@ - + diff --git a/docs/pushnotificationios.html b/docs/pushnotificationios.html index 7d726f5c326..e5075cf7c94 100644 --- a/docs/pushnotificationios.html +++ b/docs/pushnotificationios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/ram-bundles-inline-requires.html b/docs/ram-bundles-inline-requires.html index e47dd94e30a..740c5508700 100644 --- a/docs/ram-bundles-inline-requires.html +++ b/docs/ram-bundles-inline-requires.html @@ -17,7 +17,7 @@ - + diff --git a/docs/react-18-and-react-native.html b/docs/react-18-and-react-native.html index 8757da85c17..d5afcb18b04 100644 --- a/docs/react-18-and-react-native.html +++ b/docs/react-18-and-react-native.html @@ -17,7 +17,7 @@ - + diff --git a/docs/react-devtools.html b/docs/react-devtools.html index 7a9e3573517..6db24f2eda3 100644 --- a/docs/react-devtools.html +++ b/docs/react-devtools.html @@ -17,7 +17,7 @@ - + diff --git a/docs/react-native-gradle-plugin.html b/docs/react-native-gradle-plugin.html index 6855b9da1e9..c55913a4167 100644 --- a/docs/react-native-gradle-plugin.html +++ b/docs/react-native-gradle-plugin.html @@ -17,7 +17,7 @@ - + diff --git a/docs/react-node.html b/docs/react-node.html index d8fd82a6adb..25624f17e7d 100644 --- a/docs/react-node.html +++ b/docs/react-node.html @@ -17,7 +17,7 @@ - + diff --git a/docs/rect.html b/docs/rect.html index 900d9a74c14..3962b08ac2b 100644 --- a/docs/rect.html +++ b/docs/rect.html @@ -17,7 +17,7 @@ - + diff --git a/docs/rectorsize.html b/docs/rectorsize.html index 1faba05205b..7200b1c55fa 100644 --- a/docs/rectorsize.html +++ b/docs/rectorsize.html @@ -17,7 +17,7 @@ - + diff --git a/docs/refreshcontrol.html b/docs/refreshcontrol.html index ecc67867b4e..e1607b4df2b 100644 --- a/docs/refreshcontrol.html +++ b/docs/refreshcontrol.html @@ -17,7 +17,7 @@ - + diff --git a/docs/removing-default-permissions.html b/docs/removing-default-permissions.html index 1f326d85510..67945b85446 100644 Binary files a/docs/removing-default-permissions.html and b/docs/removing-default-permissions.html differ diff --git a/docs/render-pipeline.html b/docs/render-pipeline.html index dbf4c18f2c2..18770755fab 100644 --- a/docs/render-pipeline.html +++ b/docs/render-pipeline.html @@ -17,7 +17,7 @@ - + diff --git a/docs/roottag.html b/docs/roottag.html index f320557710a..79e0efaf2c8 100644 --- a/docs/roottag.html +++ b/docs/roottag.html @@ -17,7 +17,7 @@ - + diff --git a/docs/running-on-device.html b/docs/running-on-device.html index 505f4a2693f..78fb4331600 100644 --- a/docs/running-on-device.html +++ b/docs/running-on-device.html @@ -17,7 +17,7 @@ - + diff --git a/docs/running-on-simulator-ios.html b/docs/running-on-simulator-ios.html index c25190e62ec..c43a2c5ffab 100644 --- a/docs/running-on-simulator-ios.html +++ b/docs/running-on-simulator-ios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/safeareaview.html b/docs/safeareaview.html index 50af765601f..5e4ab68b05b 100644 Binary files a/docs/safeareaview.html and b/docs/safeareaview.html differ diff --git a/docs/sample-application-movies.html b/docs/sample-application-movies.html index 66c8733202e..72c0de70282 100644 --- a/docs/sample-application-movies.html +++ b/docs/sample-application-movies.html @@ -17,7 +17,7 @@ - + diff --git a/docs/scrollview.html b/docs/scrollview.html index 80b891242c3..d543603a06a 100644 --- a/docs/scrollview.html +++ b/docs/scrollview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/sectionlist.html b/docs/sectionlist.html index c5ffec9485c..c0fbfb4b094 100644 Binary files a/docs/sectionlist.html and b/docs/sectionlist.html differ diff --git a/docs/security.html b/docs/security.html index 4f7dd619aad..d9ca5eb34fa 100644 --- a/docs/security.html +++ b/docs/security.html @@ -17,7 +17,7 @@ - + diff --git a/docs/segmentedcontrolios.html b/docs/segmentedcontrolios.html index 6aaf1c117d2..45a2c81519c 100644 --- a/docs/segmentedcontrolios.html +++ b/docs/segmentedcontrolios.html @@ -17,7 +17,7 @@ - + diff --git a/docs/settings.html b/docs/settings.html index df54efdb43d..0b2b79ee537 100644 --- a/docs/settings.html +++ b/docs/settings.html @@ -17,7 +17,7 @@ - + diff --git a/docs/shadow-props.html b/docs/shadow-props.html index 1e461fb9e60..c620d3f155c 100644 Binary files a/docs/shadow-props.html and b/docs/shadow-props.html differ diff --git a/docs/share.html b/docs/share.html index 73bee58bb39..a7c796ed8f9 100644 --- a/docs/share.html +++ b/docs/share.html @@ -17,7 +17,7 @@ - + diff --git a/docs/signed-apk-android.html b/docs/signed-apk-android.html index ef220e066f2..c091e81263b 100644 --- a/docs/signed-apk-android.html +++ b/docs/signed-apk-android.html @@ -17,7 +17,7 @@ - + diff --git a/docs/slider.html b/docs/slider.html index 596c5477ea1..dd6ea943fdd 100644 --- a/docs/slider.html +++ b/docs/slider.html @@ -17,7 +17,7 @@ - + diff --git a/docs/speeding-ci-builds.html b/docs/speeding-ci-builds.html index 8916dfb855c..592c9f3d33e 100644 --- a/docs/speeding-ci-builds.html +++ b/docs/speeding-ci-builds.html @@ -17,7 +17,7 @@ - + diff --git a/docs/state.html b/docs/state.html index a25ebe35d77..d24bbd596ae 100644 --- a/docs/state.html +++ b/docs/state.html @@ -17,7 +17,7 @@ - + diff --git a/docs/statusbar.html b/docs/statusbar.html index 3dffec1e87e..f9181b504e3 100644 --- a/docs/statusbar.html +++ b/docs/statusbar.html @@ -17,7 +17,7 @@ - + diff --git a/docs/style.html b/docs/style.html index ac8d48e6044..f63ffef5be2 100644 --- a/docs/style.html +++ b/docs/style.html @@ -17,7 +17,7 @@ - + diff --git a/docs/stylesheet.html b/docs/stylesheet.html index 41b20473810..5dd0f858fa0 100644 --- a/docs/stylesheet.html +++ b/docs/stylesheet.html @@ -17,7 +17,7 @@ - + diff --git a/docs/switch.html b/docs/switch.html index 490e12aa671..aaa133229be 100644 --- a/docs/switch.html +++ b/docs/switch.html @@ -17,7 +17,7 @@ - + diff --git a/docs/symbolication.html b/docs/symbolication.html index ba4de5b7aff..67dece3fd44 100644 --- a/docs/symbolication.html +++ b/docs/symbolication.html @@ -17,7 +17,7 @@ - + diff --git a/docs/systrace.html b/docs/systrace.html index cc1b80c2dd7..6bfe5a205bd 100644 --- a/docs/systrace.html +++ b/docs/systrace.html @@ -17,7 +17,7 @@ - + diff --git a/docs/testing-overview.html b/docs/testing-overview.html index 20696b226a3..418e307b8f3 100644 --- a/docs/testing-overview.html +++ b/docs/testing-overview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/text-style-props.html b/docs/text-style-props.html index 33e028bb699..2015c5b474a 100644 --- a/docs/text-style-props.html +++ b/docs/text-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/text.html b/docs/text.html index 1cd59c16ab5..1c3dac5aecf 100644 --- a/docs/text.html +++ b/docs/text.html @@ -17,7 +17,7 @@ - + diff --git a/docs/textinput.html b/docs/textinput.html index 3790605f426..20cf867b1b0 100644 --- a/docs/textinput.html +++ b/docs/textinput.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/backward-compatibility-fabric-components.html b/docs/the-new-architecture/backward-compatibility-fabric-components.html index 790f3591e7c..3cfcf988caf 100644 --- a/docs/the-new-architecture/backward-compatibility-fabric-components.html +++ b/docs/the-new-architecture/backward-compatibility-fabric-components.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/backward-compatibility-turbomodules.html b/docs/the-new-architecture/backward-compatibility-turbomodules.html index 33706fdc976..931e03d1227 100644 --- a/docs/the-new-architecture/backward-compatibility-turbomodules.html +++ b/docs/the-new-architecture/backward-compatibility-turbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/backward-compatibility.html b/docs/the-new-architecture/backward-compatibility.html index 571b635a55e..1532d095fd8 100644 --- a/docs/the-new-architecture/backward-compatibility.html +++ b/docs/the-new-architecture/backward-compatibility.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/cxx-custom-types.html b/docs/the-new-architecture/cxx-custom-types.html index 9c7c293dd39..e08e13be8a3 100644 --- a/docs/the-new-architecture/cxx-custom-types.html +++ b/docs/the-new-architecture/cxx-custom-types.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/cxx-cxxturbomodules.html b/docs/the-new-architecture/cxx-cxxturbomodules.html index f862794ac1c..8c36d6acbbe 100644 --- a/docs/the-new-architecture/cxx-cxxturbomodules.html +++ b/docs/the-new-architecture/cxx-cxxturbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/landing-page.html b/docs/the-new-architecture/landing-page.html index b70ac6269a4..b54f7201dc7 100644 --- a/docs/the-new-architecture/landing-page.html +++ b/docs/the-new-architecture/landing-page.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/pillars-codegen.html b/docs/the-new-architecture/pillars-codegen.html index 4327fb669b6..e02b0be4c76 100644 --- a/docs/the-new-architecture/pillars-codegen.html +++ b/docs/the-new-architecture/pillars-codegen.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/pillars-fabric-components.html b/docs/the-new-architecture/pillars-fabric-components.html index 89aec137955..819e1a5e137 100644 --- a/docs/the-new-architecture/pillars-fabric-components.html +++ b/docs/the-new-architecture/pillars-fabric-components.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/pillars-turbomodules.html b/docs/the-new-architecture/pillars-turbomodules.html index 88ea186805d..848bdc93103 100644 --- a/docs/the-new-architecture/pillars-turbomodules.html +++ b/docs/the-new-architecture/pillars-turbomodules.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/pillars.html b/docs/the-new-architecture/pillars.html index f3bda7731dd..dc932384dfc 100644 Binary files a/docs/the-new-architecture/pillars.html and b/docs/the-new-architecture/pillars.html differ diff --git a/docs/the-new-architecture/use-app-template.html b/docs/the-new-architecture/use-app-template.html index c5228d2e722..1cec61b7da4 100644 --- a/docs/the-new-architecture/use-app-template.html +++ b/docs/the-new-architecture/use-app-template.html @@ -17,7 +17,7 @@ - + diff --git a/docs/the-new-architecture/why.html b/docs/the-new-architecture/why.html index e4c0aefb04e..00e249f9f77 100644 --- a/docs/the-new-architecture/why.html +++ b/docs/the-new-architecture/why.html @@ -17,7 +17,7 @@ - + diff --git a/docs/threading-model.html b/docs/threading-model.html index ee451cbdb8f..47764ff3949 100644 --- a/docs/threading-model.html +++ b/docs/threading-model.html @@ -17,7 +17,7 @@ - + diff --git a/docs/timepickerandroid.html b/docs/timepickerandroid.html index 7b539bbc016..6635c3fd4de 100644 --- a/docs/timepickerandroid.html +++ b/docs/timepickerandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/timers.html b/docs/timers.html index cb7d2373ccc..e84560e4489 100644 --- a/docs/timers.html +++ b/docs/timers.html @@ -17,7 +17,7 @@ - + diff --git a/docs/toastandroid.html b/docs/toastandroid.html index 269fa5ea7c9..bd083f30ba4 100644 Binary files a/docs/toastandroid.html and b/docs/toastandroid.html differ diff --git a/docs/touchablehighlight.html b/docs/touchablehighlight.html index 88818162039..216f4ced74a 100644 --- a/docs/touchablehighlight.html +++ b/docs/touchablehighlight.html @@ -17,7 +17,7 @@ - + diff --git a/docs/touchablenativefeedback.html b/docs/touchablenativefeedback.html index 6e3449ea870..96ca30413f6 100644 --- a/docs/touchablenativefeedback.html +++ b/docs/touchablenativefeedback.html @@ -17,7 +17,7 @@ - + diff --git a/docs/touchableopacity.html b/docs/touchableopacity.html index 82a6fd00bef..92f516204dd 100644 --- a/docs/touchableopacity.html +++ b/docs/touchableopacity.html @@ -17,7 +17,7 @@ - + diff --git a/docs/touchablewithoutfeedback.html b/docs/touchablewithoutfeedback.html index be53231a138..4ee38bd1c26 100644 --- a/docs/touchablewithoutfeedback.html +++ b/docs/touchablewithoutfeedback.html @@ -17,7 +17,7 @@ - + diff --git a/docs/transforms.html b/docs/transforms.html index a5b971eaeda..22254773f81 100644 --- a/docs/transforms.html +++ b/docs/transforms.html @@ -17,7 +17,7 @@ - + diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index 6bdb3193142..4f0762c5600 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -17,7 +17,7 @@ - + diff --git a/docs/tutorial.html b/docs/tutorial.html index 4204d4dac98..9d561899e0c 100644 --- a/docs/tutorial.html +++ b/docs/tutorial.html @@ -17,7 +17,7 @@ - + diff --git a/docs/typescript.html b/docs/typescript.html index 9911b99bfd3..5c0e89dcc5a 100644 --- a/docs/typescript.html +++ b/docs/typescript.html @@ -17,7 +17,7 @@ - + diff --git a/docs/upgrading.html b/docs/upgrading.html index c8eb7c1815a..9a2f567a353 100644 --- a/docs/upgrading.html +++ b/docs/upgrading.html @@ -17,7 +17,7 @@ - + diff --git a/docs/usecolorscheme.html b/docs/usecolorscheme.html index c90ef32d4e3..b439a1156fb 100644 --- a/docs/usecolorscheme.html +++ b/docs/usecolorscheme.html @@ -17,7 +17,7 @@ - + diff --git a/docs/usewindowdimensions.html b/docs/usewindowdimensions.html index fac2e0a89ca..571974f5637 100644 --- a/docs/usewindowdimensions.html +++ b/docs/usewindowdimensions.html @@ -17,7 +17,7 @@ - + diff --git a/docs/using-a-listview.html b/docs/using-a-listview.html index 966d034578c..797b57b0801 100644 --- a/docs/using-a-listview.html +++ b/docs/using-a-listview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/using-a-scrollview.html b/docs/using-a-scrollview.html index 86b9e8faf6f..6fc384789c3 100644 --- a/docs/using-a-scrollview.html +++ b/docs/using-a-scrollview.html @@ -17,7 +17,7 @@ - + diff --git a/docs/vibration.html b/docs/vibration.html index d48dc6f300b..e887ba4cc89 100644 --- a/docs/vibration.html +++ b/docs/vibration.html @@ -17,7 +17,7 @@ - + diff --git a/docs/view-flattening.html b/docs/view-flattening.html index 28b20cb66d2..6abb05cad0f 100644 --- a/docs/view-flattening.html +++ b/docs/view-flattening.html @@ -17,7 +17,7 @@ - + diff --git a/docs/view-style-props.html b/docs/view-style-props.html index 8c32b644b4e..dea2ecb8a7b 100644 --- a/docs/view-style-props.html +++ b/docs/view-style-props.html @@ -17,7 +17,7 @@ - + diff --git a/docs/view.html b/docs/view.html index 2de574f521d..cceaf9875d7 100644 --- a/docs/view.html +++ b/docs/view.html @@ -17,7 +17,7 @@ - + diff --git a/docs/viewpagerandroid.html b/docs/viewpagerandroid.html index befd577d925..643ad18def3 100644 --- a/docs/viewpagerandroid.html +++ b/docs/viewpagerandroid.html @@ -17,7 +17,7 @@ - + diff --git a/docs/viewtoken.html b/docs/viewtoken.html index 4ee9e2a6a74..3e7cae2af37 100644 --- a/docs/viewtoken.html +++ b/docs/viewtoken.html @@ -17,7 +17,7 @@ - + diff --git a/docs/virtualizedlist.html b/docs/virtualizedlist.html index 0156272c973..fe2edace1a5 100644 --- a/docs/virtualizedlist.html +++ b/docs/virtualizedlist.html @@ -17,7 +17,7 @@ - + diff --git a/docs/xplat-implementation.html b/docs/xplat-implementation.html index a29517bf055..d7b6ddc70b0 100644 --- a/docs/xplat-implementation.html +++ b/docs/xplat-implementation.html @@ -17,7 +17,7 @@ - + diff --git a/index.html b/index.html index 30e676427d1..807c2d1c180 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@ - + diff --git a/search.html b/search.html index b4741c9bbcc..882dfebe279 100644 --- a/search.html +++ b/search.html @@ -17,7 +17,7 @@ - + diff --git a/versions.html b/versions.html index da2dee25a78..74ee3ea51b1 100644 --- a/versions.html +++ b/versions.html @@ -17,7 +17,7 @@ - +