React Native学习笔记(二)—— 概要、开发环境搭建、第一个React Navite程序
<h1>一、概要</h1><h2>1.1、跨平台开发技术</h2>
<p data-pid="ut-4tvzV">在移动端开发项目中。开发资源不够时,同时由两个团队维护安卓和IOS两套原生APP是成本很高的。此时,就需要选择一个同时支持多平台的客户端开发框架,能够使用一套代码,编译出多平台的APP。</p>
<p data-pid="ukwY2BxK">这样一方面能够缩减开发人数,节省开发成本。另一方面由于代码统一,避免了不同平台版本分支,导致的用户体验差异。</p>
<p data-pid="Xzr7A3Xu">本文简单考察了当前比较主流的客户端跨平台开发框架,我们来一起看看当前的主流框架有哪些。</p>
<h3 id="h_603580073_1" data-into-catalog-status="">1.1.1、Flutter</h3>
<p data-pid="KRfkQG_z">官网地址: <span class="invisible">https://<span class="visible">flutter.dev/</span> 项目地址: </span><span class="invisible">https://<span class="visible">github.com/flutter/flut<span class="invisible">ter</span> </span></span></p>
<p data-pid="6xhQfI1-">Flutter是由谷歌推出的多平台开发框架,项目主页对其自己的定义如下:</p>
<blockquote data-pid="gzWYysaz">We think Flutter will help you create beautiful, fast apps, with a productive, extensible and open development model, whether you're targeting iOS or Android, web, Windows, macOS, Linux or embedding it as the UI toolkit for a platform of your choice.</blockquote>
<p data-pid="lCVQVPxh">它于2015年4月的Flutter开发者会议上被公布,Flutter是使用Dart语言编写,并利用该语言的许多高级功能。在Windows、macOS和Linux上,Flutter在Dart虚拟机中运行,该虚拟机具有即时编译执行引擎。在编写和调试应用时,Flutter使用即时编译功能进行“热重载”(Hot Reload),可以将对源文件的修改注入正在运行的应用中。Flutter通过支持有状态的热重载来扩展此功能,在大多数情况下,对源代码的更改可以立即在运行的应用中反映出来,而无需重新启动或丢失任何状态。Flutter实现的此功能已广受赞誉。 (引用:<span class="invisible">https://<span class="visible">zh.wikipedia.org/wiki/F<span class="invisible">lutter</span>) </span></span></p>
<h3 id="h_603580073_2" data-into-catalog-status="">1.1.2、React Native</h3>
<p data-pid="QE5nsDdw">官网地址: <span class="invisible">https://<span class="visible">reactnative.dev/</span> 项目地址: </span><span class="invisible">https://<span class="visible">github.com/facebook/rea<span class="invisible">ct-native</span> </span></span></p>
<p data-pid="tXHxH11_">React Native看姓就知道是谁推出的了,不多说了。官方给的 slogen 是 Learn once, write anywhere. 项目主页对其自己的介绍为:</p>
<blockquote data-pid="xVsw0zR3"> Create native apps for Android, iOS, and more using React React Native combines the best parts of native development with React, a best-in-class JavaScript library for building user interfaces.<br>Use a little—or a
lot. You can use React Native today in your existing Android and iOS projects
or you can create a whole new app from scratch.
</blockquote>
<p data-pid="fm3G7Gn8">
也有一些框架支持代码编译为 React Native,
来提供客户端开发支持,如京东的小程序开发框架 taro ,以及 Vue Native (停止维护)
</p>
<h3 data-into-catalog-status="">1.1.3、Weex</h3>
<p>
阿里公开Weex技术架构,还开源了一大波组件。Weex是一个构建移动端跨平台UI框架。Weex使开发人员能够使用类似Web的语法通过单一代码库构建iOS、Android和Web应用。<span class="sup--normal" data-sup="2" data-ctrmap=":2,"> </span>Vue.js和Rax(提供类React语法前端框架)这两个前端框架被广泛应用于Weex页面开发,同时Weex也对这两个前端框架提供了最完善的支持。<span class="sup--normal" data-sup="4-5" data-ctrmap=":4,:5,">
</span></p>
<h3 id="h_603580073_3" data-into-catalog-status="">1.1.4、Xamarin</h3>
<p data-pid="crc_la2z">
微软收购了 xamarin 后,也在继续发展基于C#的移动端跨平台开发,不过相较于 React
Native 和 Flutter 属于不温不火的状态。xamarin 在这么多年以后,终于迎来了全新替代者,它就是MAUI。微软提供了
Xamarin.Forms 的迁移文档: <span class="invisible">https://<span class="visible">learn.microsoft.com/en-<span class="invisible">us/dotnet/maui/get-started/migrate?view=net-maui-7.0
</span></span></span></p>
<p data-pid="pDYIGOnD">
MAUI的一句话介绍 :
</p>
<blockquote data-pid="hHlauZRn">
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for
creating native mobile and desktop apps with C# and XAML.
</blockquote>
<p data-pid="HN0eGrQz">其架构如下:</p>
<div>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230329203744130-1498581995.png" alt="" width="752" height="447" loading="lazy">
</div>
<p>MAUI架构图</p>
<p data-pid="0ljQ3FlN">
安卓APP 编译产物为IL,在APP启动时JIT运行为本机代码。iOS App 则完全由C#
AOT编译为IOS的本地组件代码。
</p>
<p data-pid="wei90Mb2">
更多可查看:<span class="invisible">https://<span class="visible">learn.microsoft.com/en-<span class="invisible">us/dotnet/maui/what-is-maui?view=net-maui-7.0
</span></span></span></p>
<p data-pid="DOBvAMN-">延伸对比:</p>
<p data-pid="TJ0Y3293">1. Xamarin需要为每个平台提供一个项目,MAUI不需要</p>
<p data-pid="FW-zXuAR">2. MAUI支持.NET 6, xamarin支持.net core 3.1。</p>
<p data-pid="aemeDwk2">
3. Xamarin无法直接调用绘图API,MAUI提供了跨平台的绘图接口。
</p>
<p data-pid="-E4w6JWg">
4. Slim Renderers, MAUI提供了 Slim Renderer Xamarin使用Custom Renderers
</p>
<p data-pid="MfxJQRq9">
5. MVU(Model-View-Update)开发模式支持。Xamarin支持 ReactiveUI 以及
MVVM,MAUI支持Blazor以及MVU
</p>
<p data-pid="BR1RpW6V">
6.
库统一化管理。MAUI合并了Xamarin.Essentials,对必备库进行了统一化处理。提供了通讯录,照片,设备传感器等接口。
</p>
<p data-pid="QPtrP9Rw">7. 热重载。 MAUI支持热重载。</p>
<p data-pid="LfPxv8rz">
引用自:<span class="invisible">https://<span class="visible">innowise-group.com/blog<span class="invisible">/net-maui-vs-xamarin/
</span></span></span></p>
<h3 id="h_603580073_4" data-into-catalog-status="">1.1.5、UNI-APP / Taro</h3>
<p data-pid="uMdwjz30">
uni-app 和 taro
都是主打跨平台的小程序开发框架,只不过是一个用Vue开发,一个使用 React。
uni-app 由 dcloud
开发,大概是国内推出小程序概念的最早公司了,甚至早于微信小程序。官方提供的框架,支持直接编译为安卓和ios应用。
taro 由京东开发,上面提过,是编译为 React Native 来提供移动APP支持。
</p>
<p data-pid="JPwaCwSR">
官方地址: uni-app <span class="invisible">https://<span class="visible">uniapp.dcloud.net.cn/</span> taro </span><span class="invisible">https://<span class="visible">taro.jd.com/</span>
</span></p>
<h3 id="h_603580073_5" data-into-catalog-status="">
1.1.6、苹果 H5 热更新问题
</h3>
<p data-pid="pfg1VXp3">
之前苹果提出过应用市场的APP,不允许H5套壳,管控版本热更新。笔者移动端开发参与较少,一度以为
React Native, UNI-APP
之类的方案已经不能使用。不过今天再看并非如此,从UNI-APP社区讨论来看,正常使用
React Native / UNI-APP / Taro 应该不会遇到太大合规问题。
</p>
<p data-pid="VZRxc0VB">
进一步浏览苹果的 H5 热更新问题: <span class="invisible">https://<span class="visible">zhuanlan.zhihu.com/p/13<span class="invisible">8243490</span> </span></span><span class="invisible">https://<span class="visible">ask.dcloud.net.cn/quest<span class="invisible">ion/84952</span> </span></span><span class="invisible">https://<span class="visible">ask.dcloud.net.cn/artic<span class="invisible">le/36654</span>
</span></span></p>
<h3 id="h_603580073_6" data-into-catalog-status="">1.1.7、总结</h3>
<p data-pid="Pmmniztr">
移动端跨平台框架之争,其实主要是 谷歌/脸书/微软 三家争霸。 UNI-APP一枝独秀。
</p>
<p data-pid="0j-5SVmB">
在技术选型上,如果有前端开发人员参与,且熟悉 React / Vue, 那么可以使用 Taro
,React Native (React技术栈) / UNI-APP (VUE技术栈) 。
</p>
<p data-pid="2ZTsZLJ-">
如果前端资源不足,则可以考虑使用 MAUI / Flutter。
MAUI是C#开发,适合相应的微软技术栈的团队。 Flutter需要学习一门新的 Dart
语言,不过语言特性浅显易懂,学习难度也不大。
</p>
<h2>1.2、ReactNative简介</h2>
<h3>1.2.1、概要</h3>
<p>
作为目前流行的跨平台技术框架之一,React
Native是Facebook技术团队于2015年4月在早先的React前端框架基础上开源的一套移动跨平台开发框架,可以同时支持iOS和Android两大移动平台。
</p>
<p>
<span class="navbar__title text--truncate">React Native 中文网</span> https://www.reactnative.cn/
</p>
<p>
源代码 https://github.com/facebook/react-native
</p>
<p>
官网 https://reactnative.dev/
</p>
<p>
React
Native使用流行的JSX语法来替代常规的JavaScript语法,提高了代码的可阅读性。JSX是一种XML和JavaScript结合的扩展语法。
</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230329202039871-323259293.png" alt="" width="762" height="233" loading="lazy">
</p>
<p>
React
Native框架的优势在于,只需要使用一套代码就可以覆盖多个移动平台,真正做到“Learn
Once,Write Anywhere”。React
Native框架底层使用的是JavaScriptCore引擎,基本上只需要更新一下JavaScript文件,即可完成整个App的更新操作,非常适合用来开发App的热更新功能。除此之外,React
Native框架提供的开发和调试环境也是非常友好的,开发者只需要像刷新浏览器一样,就可以即时查看到代码修改后的效果,并且还可以在Chrome浏览器中查看控制台输出、加断点、单步调试等。
</p>
<h3>1.2.2、React Native工作原理</h3>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313193553510-725731281.png" alt="" loading="lazy">
</p>
<p> React Native也是用的JSX语法。</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331143617328-1707935442.png" alt="" width="749" height="562" loading="lazy">
</p>
<p> </p>
<p> </p>
<div>
<div>
<ul>
<li>绿色的是我们应用开发的部分。我们写的代码基本上都是在这一层</li>
<li>
蓝色代表公用的跨平台的代码和工具引擎,一般我们不会动蓝色部分的代码
</li>
<li>
黄色代码平台相关的代码,做定制化的时候会添加修改代码。不跨平台,要针对平台写不同的代码。iOS写OC,
android写java,web写js.
每个bridge都有对应的js文件,js部分是可以共享的,写一份就可以了。如果你想做三端融合,你就得理解这一个东西。如果你要自己定制原生控件,你就得写bridge部分
</li>
<li>
红色部分是系统平台的东西。红色上面有一个虚线,表示所有平台相关的东西都通过bridge隔离开来了
</li>
<li>
大部分情况下我们只用写绿色的部分,少部分情况下会写黄色的部分。你如果对基础架构和开源感兴趣,你可以写蓝色部分,然后尝试给那些大的开源项目提交代码。红色部分是独立于React
Native的
</li>
</ul>
</div>
</div>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331143658469-987393666.png" alt="" width="478" height="322" loading="lazy">
</p>
<h2>1.3、React Native的优缺点</h2>
<h3>1.3.1、优点</h3>
<ul>
<li>
<p>
容易上手:<code>RN</code> 入门较轻松,只要有一门面向对象语言的基础,都可以很快上手,而且社区较活跃,很多资料在网上都能查到。
</p>
</li>
<li>
跨平台开发:相比原生的ios 和 android
app各自维护一套业务逻辑大同小异的代码,React Native 只需要同一套javascript 代码就可以运行于ios 和 android
两个平台,在开发、测试和维护的成本上要低很多。
</li>
<li>
快速编译:相比原生的ios 和 android app各自维护一套业务逻辑大同小异的代码,React Native 只需要同一套javascript 代码就可以运行于ios 和 android
两个平台,在开发、测试和维护的成本上要低很多。
</li>
<li>
快速发布:<code>RN</code> 可以通过 <code>JSBundle</code> 即时更新
App。相比原来冗长的审核和上传过程,发布和测试新功能的效率大幅提高。
</li>
</ul>
<h3>1.3.2、缺点</h3>
<ul>
<li>
动画性能: RN
在动画效率和性能的支持还存在一些问题,性能上不如原生。这时候只能嵌入原生的组件,但工作量可能会比较大。
</li>
<li>
学习成本较高: 在某些地方开发者依然需要为 iOS 和 Android
平台提供两套不同的代码,比如在原有项目的基础上嵌入RN时,需要根据平台进行封装和配置。
</li>
<li>
配置比较麻烦:首先要安装
Node、Watchman、Yarn、Xcode(iOS)、CocoaPods(iOS)、Android
Studio(Android)、JDK(Android)
等依赖。如果只开发单个平台,那就安装相应平台的依赖就行了。因为很多库都是在国外,所以还要切换镜像,或者给终端FQ才能下载,不然就会很慢,或者干脆就卡住了。
</li>
</ul>
<h1>二、搭建开发环境</h1>
<h2>2.0、基础平台</h2>
<h3>2.0.1、Node.js安装</h3>
<p>
If you have already installed Node on your system, make sure it is Node 14 or
newer. If you already have a JDK on your system, we recommend JDK11. You may
encounter problems using higher JDK versions.
</p>
<p>Node.js要求14版或更新</p>
<p>https://nodejs.org/en</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330105338409-946158686.png" alt="" loading="lazy">
</p>
<p>查看版本</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330105510572-70411237.png" alt="" loading="lazy">
</p>
<h3>2.0.2、yarn安装</h3>
<p>
Yarn是Facebook发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具。
</p>
<p>https://yarnpkg.com/</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330105716759-492700257.png" alt="" width="935" height="325" loading="lazy">
</p>
<p> </p>
<p>
https://yarn.bootcss.com/
</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330105833477-368576799.png" alt="" width="604" height="311" loading="lazy">
</p>
<p> </p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330105952830-730220980.png" alt="" loading="lazy">
</p>
<h3>2.0.3、react-native-cli安装</h3>
<p>安装:</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330110444136-1992486085.png" alt="" width="1079" height="566" loading="lazy">
</p>
<p> 查看版本:</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330110514169-1369525544.png" alt="" width="579" height="68" loading="lazy">
</p>
<p> 创建项目</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330110822403-1235124081.png" alt="" width="529" height="389" loading="lazy">
</p>
<h3>2.0.4、Chocolatey</h3>
<h4 id="前言">前言</h4>
<p>
在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows
下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境。
</p>
<p>
Chocolatey 的哲学就是完全用命令行来安装应用程序,
它更像一个包管理工具(背后使用 Nuget )
</p>
<p>
另外需要说明的是, Chocolatey 只是把官方下载路径封装到了 Chocolatey
中,所以下载源都是其官方路径,所以下载的一定是合法的,但是如果原软件是需要
Licence 注册的话,那么 Chocolatey 下载安装好的软件还是需要你去购买注册。不过
Chocolatey 一般还是会选用免费 Licence 可用的软件。
</p>
<p>
Chocolatey官网:https://chocolatey.org/
</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330140831569-683739698.png" alt="" loading="lazy">
</p>
<p>
chocolatey是一个包管理工具,类似Node、docker、yarn等。而
chocolatey又可以很方便地安装其他工具软件。
chocolatey更像是一个将一切操作都集中在命令行中的工具。它可以将机器上安装的全部程序进行管理起来。
</p>
<h4 id="安装">安装</h4>
<p>
https://chocolatey.org/install#individual
</p>
<p>打开powershell:</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330143013919-1790817445.png" alt="" loading="lazy">
</p>
<p> 输入官方要求安装的指令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">Set-ExecutionPolicy</span> Bypass -Scope <span style="color: rgba(0, 0, 255, 1)">Process</span> -Force; ::SecurityProtocol = ::SecurityProtocol <span style="color: rgba(0, 128, 128, 1)">-bor</span> 3072; iex ((<span style="color: rgba(0, 0, 255, 1)">New-Object</span> System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330142742977-1459746525.png" alt="" loading="lazy"></p>
<p> 安装完成后就可以测试了:</p>
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330143223837-522521722.png" alt="" loading="lazy"></p>
<h4>命令</h4>
<p> <strong>查找包</strong><br>可用 search/find/list
指令查找包,支持模糊查询。如果想看有哪些包,可以直接去官网看:https://chocolatey.org/packages
</p>
<p>注意,现在的官网文档不再列出find指令,之后可能会被废弃。具体指令为:</p>
<p>
choco search <filter> [<options/switches>]<br>choco list
<filter> [<options/switches>]<br>clist <filter>
[<options/switches>]<br>列出本地的包 clist -l, -l为--lo, --localonly,
--lolcal-only的简写<br>列出本地的包与电脑安装过的软件 choco list -li 或
choco list -l -i<br>-i需要配合-l使用,用于列出不归Chocolatey管理的程序<br>
</p>
<p>clist 是 `choco -list` 的简写。</p>
<p>
<strong>clist -l</strong><br><strong>clist potplayer</strong><br><strong>outdated 列出可升级的包<br>在大于0.9.9.6的版本中,可通过指令<strong>choco outdated列出待升级的包
</strong></strong></p>
<p>upgrade 升级<br>update 指令已/即将被弃用,现在升级只用upgrade</p>
<p>choco upgrade all -y</p>
<p>choco upgrade 指令可简写为 cup,如cup all -y</p>
<p>
pin 固定<br>用于固定软件,使得在执行升级全部包时自动跳过;通过维护一张固定列表实现该效果
</p>
<p>用法:</p>
<p>
添加至固定列表:choco pin add -n=git,其中-n是-name的简写<br>从固定列表移除:choco
pin remove -n=git<br>列出固定列表:choco pin list<br><strong>install 安装<br>文档:https://chocolatey.org/docs/commands-install<br>choco install
可简写为 <strong>cinst</strong>,语法为:
</strong></p>
<p>
choco install <pkg|packages.config> [<pkg2> <pkgN>]
[<options/switches>]<br>cinst <pkg|packages.config>
[<pkg2> <pkgN>] [<options/switches>]<br>添加参数以跳过包校验:--ignore-checksums<br>可一次性下载多个包,如:choco
install a b c ... -y<br>如用代理安装vscode并自动确认:
</p>
<p>
choco install vscode -y --proxy=127.0.0.1:10809<br><strong>uninstall 卸载<br>choco uninstall,可简写为 choco cuinst
</strong></p>
<h4>安装软件</h4>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-mipsasm">choco <span class="hljs-keyword">install ruby
cinst ruby
</span></code></pre>
<p>安装ruby</p>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-mipsasm">choco <span class="hljs-keyword">install ruby
</span></code></pre>
<p>安装 Python</p>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-mipsasm">choco <span class="hljs-keyword">install python
</span></code></pre>
<p>安装 Java JDK7 或 JDK8</p>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-mipsasm">choco <span class="hljs-keyword">install <span class="hljs-keyword">jdk7
choco <span class="hljs-keyword">install <span class="hljs-keyword">jdk8
</span></span></span></span></code></pre>
<h4 id="搜索软件">搜索软件</h4>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-undefined">clist ssh
choco list ssh
</code></pre>
<h4 id="卸载软件">卸载软件</h4>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-undefined">clist ssh
cuninst ssh
</code></pre>
<h4 id="其它">其它</h4>
<p>我的chocolatey安装目录为:</p>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-makefile"><span class="hljs-section">C:\Users\chzhao\AppData\Local\Temp\chocolatey\chocInstall\tools\chocolateyInstall
</span></code></pre>
<p>其它命令还包括:</p>
<pre class="highlighter-hljs"><code class="highlighter-hljs hljs language-undefined">cpack
cpush
cup
cver<br></code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># Need Update Software List</span>
<span style="color: rgba(0, 0, 0, 1)">choco outdated
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># Update Software</span>
<span style="color: rgba(0, 0, 0, 1)">choco upgrade all
choco upgrade chocolatey
No Update Some Software When Upgrade:
choco pin notepad2</span>-<span style="color: rgba(0, 0, 0, 1)">mod
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># List Installed Software</span>
choco list --local-<span style="color: rgba(0, 0, 0, 1)">only
List Installed Software (Include Non</span>-Chocolatey-<span style="color: rgba(0, 0, 0, 1)">Install)
choco list </span>-<span style="color: rgba(0, 0, 0, 1)">li
choco list </span>-<span style="color: rgba(0, 0, 0, 1)">lai
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># Uninstall Software</span>
<span style="color: rgba(0, 0, 0, 1)">choco uninstall sourcetree
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># Search Software</span>
choco search docker-<span style="color: rgba(0, 0, 0, 1)">desktop
choco search </span>> 1<span style="color: rgba(0, 0, 0, 1)">.txt
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># View Software Information</span>
choco info desktop-<span style="color: rgba(0, 0, 0, 1)">desktop
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"># Temp Path</span>
%temp%\chocolatey</pre>
</div>
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230330144924531-2040802964.png" alt="" loading="lazy"></p>
<p>choco install chocolateygui 还可以安装图形化工具</p>
<h2>2.1、安装JDK</h2>
<h3>2.1.1、安装依赖项JDK</h3>
<p>您将需要 Node、React Native 命令行界面、JDK 和 Android Studio。</p>
<p>虽然您可以使用您选择的任何编辑器来开发您的应用程序,但您需要安装 Android Studio 才能设置必要的工具来构建适用于 Android 的 React Native 应用程序。</p>
<p>如果您已经在系统上安装了 Node,<span style="color: rgba(255, 0, 0, 1)">请确保它是 Node 14 或更高版本。如果您的系统上已有 JDK,我们建议使用 JDK11。使用较高的 JDK 版本时可能会遇到问题。 </span></p>
<h3>2.1.2、JDK下载</h3>
<div class="cnblogs_code">
<pre>官方网址https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">www.oracle.com/java</span></pre>
</div>
<p>进入后 点击Download Java</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313194807600-426383960.png" alt="" width="844" height="414" loading="lazy"></p>
<p> 点击后有三个LTS版本(Java17、Java11、Java8)和一个最新版(Java18)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313194840975-1129376331.png" alt="" width="837" height="411" loading="lazy"></p>
<p> 以Java8为例进行下载</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313194934100-295681605.png" alt="" width="834" height="409" loading="lazy"></p>
<p>下载时会弹出此窗口,就是让你登录的,没有账号可以注册一个,然后下载就行</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195014299-1190784590.png" alt="" width="846" height="284" loading="lazy"></p>
<h3>2.1.3、安装JDK11和JDK17</h3>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195207757-1028774110.png" alt="" width="663" height="208" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195232837-524504069.png" alt="" width="683" height="346" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195252269-2083242643.png" alt="" width="622" height="473" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195313372-48257912.png" alt="" width="636" height="349" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195356927-1957752641.png" alt="" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195404097-1111230643.png" alt="" loading="lazy"></p>
<h3>2.1.4、JDK1.8配置环境变量</h3>
<p> (鼠标右键)此电脑 (选择)属性 (找到)高级系统设置 (选择)高级 (找到)环境变量</p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195549889-408026822.png" alt="" loading="lazy"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195558191-922225535.png" alt="" loading="lazy"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195607073-1588316744.png" alt="" width="254" height="351" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195633585-522432523.png" alt="" width="427" height="482" loading="lazy"></p>
<p> 接下来开始配置环境变量(两次新建一次编辑)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195656481-1434875505.png" alt="" width="568" height="270" loading="lazy"></p>
<p>先点击新建,变量名:JAVA_HOME </p>
<p>变量值:(是你JDK的安装路径) </p>
<p>填完之后点击确定</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195722332-1587368881.png" alt="" width="750" height="215" loading="lazy"></p>
<p>再次点击新建</p>
<p>变量名:CLASSPATH </p>
<p>变量值:(.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;)</p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195810716-2037175742.png" alt="" width="747" height="213" loading="lazy"></p>
<p> 然后找到Path 点击编辑</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195846488-51330953.png" alt="" width="734" height="338" loading="lazy"></p>
<p> 添加一个(.)</p>
<p>再添加(%JAVA_HOME%\bin)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313195920880-1085255260.png" alt="" width="372" height="400" loading="lazy"></p>
<p>之后就是一直确定就行,到这里环境变量配置算是完成了,接下来查看一下</p>
<p>Windows键+R键 打开cmd命令控制台</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200042586-1379331310.png" alt="" width="368" height="194" loading="lazy"></p>
<p> 输入 java -version 回车 查看jdk信息</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200103832-589464199.png" alt="" width="630" height="327" loading="lazy"></p>
<p>参考JDK的切换:(5条消息) 同时安装多个版本的JDK(JDK1.8和JDK17)并配置环境变量_沫洺的博客-CSDN博客 </p>
<p><span style="color: rgba(255, 0, 0, 1)">注意:如果切换不成功的情况</span></p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230302203234486-1965083416.png" alt="" loading="lazy"></p>
<h3> 2.1.5、JDK17安装</h3>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200224990-343709823.png" alt="" width="461" height="188" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200244321-896508333.png" alt="" width="525" height="399" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200308146-1290183203.png" alt="" width="521" height="396" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200321821-1368438198.png" alt="" width="528" height="401" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200337984-489040405.png" alt="" width="493" height="375" loading="lazy"></p>
<h3>2.1.6、JDK17环境变量配置</h3>
<p>还是先找到环境变量配置</p>
<p> 因为JDK1.8我们已经配置过CLASSPATH和PATH,所以只需要改一下JAVA_HOME就行</p>
<p>这里又是 (两次新建一次编辑)</p>
<p>点击新建,变量名:JDK1.8</p>
<p>变量值:(JDK1.8的安装路径)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200446341-1472277158.png" alt="" width="581" height="149" loading="lazy"></p>
<p>点击新建,变量名:JDK17</p>
<p>变量值:(JDK17的安装路径)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200512788-599969097.png" alt="" width="603" height="153" loading="lazy"></p>
<p>找到JAVA_HOME,点击编辑</p>
<p>变量值改为(%JDK1.8%)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200534239-326435305.png" alt="" width="651" height="171" loading="lazy"></p>
<p> 操作完之后的效果如下</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200607214-187682600.png" alt="" width="639" height="110" loading="lazy"></p>
<p> 最后还是对刚才的JAVA_HOME里的变量值改为(%JDK17%)就行</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200633088-827678460.png" alt="" width="679" height="174" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200646074-646124330.png" alt="" width="694" height="175" loading="lazy"></p>
<p>此时再查看jdk信息</p>
<p> 就切换为jdk17了</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200713177-1683289874.png" alt="" width="643" height="336" loading="lazy"></p>
<h3>2.1.7、最后总结</h3>
<p>今后用哪个版本的JDK就只需要改变JAVA_HOME下的JDK版本号就行</p>
<p>比如1.8改为17</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200815158-1701850472.png" alt="" width="606" height="155" loading="lazy"></p>
<p> <span style="color: rgba(255, 0, 0, 1)">注意:如果切换不成功的情况</span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313200946183-1260773643.png" alt="" loading="lazy"></span></p>
<h2>2.2、安卓开发环境</h2>
<p>如果您不熟悉 Android 开发,设置开发环境可能会有些乏味。如果您已经熟悉 Android 开发,则可能需要配置一些内容。无论哪种情况,请确保仔细执行以下几个步骤。</p>
<h3>2.2.1、 安装Android Studio</h3>
<p>下载并安装 Android Studio。在 Android Studio 安装向导中,请确保选中以下所有项目旁边的框: </p>
<ul>
<li><code>Android SDK</code></li>
<li><code>Android SDK Platform</code></li>
<li><code>Android Virtual Device</code></li>
<li><span>如果您尚未使用 Hyper-V:(请参阅此处了解 AMD 或 Hyper-V<code>Performance (Intel ® HAXM)</code>) </span></li>
</ul>
<p>然后,单击“下一步”以安装所有这些组件。</p>
<h3>2.2.2、Android Studio 下载</h3>
<h4>(1)、国内站点下载</h4>
<p>https://www.pcsoft.com.cn/soft/36783.html Android Studio2022.1.1.19 官方版 </p>
<h4>(2)、官网下载</h4>
<p>Android Studio下载地址-谷歌中国,最新版本目前是<code>Dolphin | 2021.3.1 Patch 1,这个版本新增了很多牛逼的功能,但是手上有工作项目的不要去轻易尝试,说不定你就编译失败了,失败了也不要担心,解决就可以了。 </code></p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202123616-1556018285.png" alt="" width="884" height="445" loading="lazy"></p>
<p>点击 Download Android Studio 进行下载,会出现一个弹窗告诉这个版本的一些信息。</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202211384-1084736061.png" alt="" width="866" height="514" loading="lazy"></p>
<p> 不用管他,直接滑动到最后。</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202248382-1697426366.png" alt="" loading="lazy"></p>
<h3>2.2.3、Android Studio安装</h3>
<p>双击运行</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202439676-879119571.png" alt="" loading="lazy"></p>
<p>点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202453750-864273037.png" alt="" loading="lazy"></p>
<p>点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202507295-1077517407.png" alt="" loading="lazy"></p>
<p> 默认会给你装到C盘,这里我修改到了G盘(PS: 这里一定要改路径,否则随着你开发过程中,你的C盘空间会越来越小,这里我放的是G盘,只要不装在系统盘里,其他盘随意,不过也要有一定空间才行。),点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202535468-586841722.png" alt="" loading="lazy"></p>
<p> 点击 Next 下一步(PS:这里没有其他骚操作,不要乱来)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202552620-1767791025.png" alt="" loading="lazy"></p>
<p> 等安装完成</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202606729-1094425022.png" alt="" loading="lazy"></p>
<p> 点击 Next 下一步,</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202621613-1063991174.png" alt="" loading="lazy"></p>
<p> 点击Finish进行第一次运行了,如果你不是第一安装了,那么就是覆盖安装,也是一步到位,没啥好讲的。现在我们运行一下:</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202646139-634037291.png" alt="" loading="lazy"></p>
<p> 如果你选择上面那个就会在你电脑安装默认的配置,这里不导入配置,直接OK即可,然后你就会看到AS的启动图片:</p>
<p> <img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202701727-2104970975.png" alt="" loading="lazy"></p>
<p> 不得不说比之前的要好看一些,然后会弹出。</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202716956-1339764630.png" alt="" loading="lazy"></p>
<p>就是让发送使用的信息给谷歌,发个锤子,决绝,点击“Don’t send”,</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202734561-2115813409.png" alt="" loading="lazy"></p>
<p> 这个地方是说你没有SDK,让你设置代码,这里不设置,点击 Cancel</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202753146-1743182392.png" alt="" loading="lazy"></p>
<p> 等待一会儿</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202807262-1915585090.png" alt="" width="596" height="447" loading="lazy"></p>
<p> 这个图片是告诉你,Android能做的事情有手机,穿戴设备,TV,还有智能设备等,点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202828812-650526866.png" alt="" width="632" height="474" loading="lazy"></p>
<p> Android Studio 默认会把你的SDK下载放在C盘,到时候你的C盘就炸了,谷歌太坏了,很多新手都会直接下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202858958-2042944001.png" alt="" width="538" height="318" loading="lazy"></p>
<p> 我们选择Custom 自定义,然后点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202919868-630119005.png" alt="" width="642" height="481" loading="lazy"></p>
<p> 白色的看久了,我觉得眼睛不舒服,所以我都是默认黑色的,看个人喜好,然后点击 Next 下一步,之前我们选择自定义SDK的路径</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313202950111-1906599956.png" alt="" width="624" height="468" loading="lazy"></p>
<p> 所以这个地方就是让你该路径的,改好之后就点击 Next 下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203010834-2115922599.png" alt="" width="585" height="439" loading="lazy"></p>
<p> 然后就会下载对应当前版本的SDK配置文件,点击Finish就会开始下载(PS: 请在网络良好是尝试)</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203029619-1194380394.png" alt="" width="597" height="448" loading="lazy"></p>
<p> 很明显,我的这个网速就不这么样,这个时候你就可以泡一杯咖啡,说到咖啡你有没有想到Java的图标呢?</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203056584-1884468864.png" alt="" width="643" height="482" loading="lazy"></p>
<p>好了,点击finish</p>
<p><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203117483-1871073659.png" alt="" width="619" height="453" loading="lazy"></p>
<p> 1.启动一个新的Android Studio项目<br>2.打开一个现有的Android Studio项目<br>这里只说前面一两条,既然是做教程,那我们创建一个新的项目(PS:创建一个新的和打开一个已有的项目有什么区别呢,创建一个新的就只有这样项目最基本的已经插件和依赖,以这个新的为准,而打开已有的就会以老项目的环境为准,这就是为什么你从网上下载别人的代码再打开之后要配置很久的原因,因为你的环境和别人不一定就一样,其次就是里面用到的SDK、API版本、依赖框架等一些内容不一样,所以用的时间很久,犹豫是在网络慢的时候更突出,相当煎熬,我咖啡都喝了两杯了,还没有下载完配置,心碎,辣鸡软件,毁我青春)。<br><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203219002-800985649.png" alt="" width="664" height="473" loading="lazy">
</p>
<p>这里默认是创建的一个空的Activity(活动),点击Next。下一步</p>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230314103610974-1093430435.png" alt="" width="719" height="515" loading="lazy">
</p>
<p> 点击finish 就会开始创建这个项目并下载一些配置文件</p>
<h3>2.2.4、安装虚拟机</h3>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230314165205447-1587891608.png" alt="" width="798" height="430" loading="lazy">
</p>
<p> 选择你需要的模拟器版本,看你需要来安装吧。</p>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230314165531943-1135592476.png" alt="" width="767" height="397" loading="lazy">
</p>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230314165638875-1484104592.png" alt="" width="765" height="408" loading="lazy">
</p>
<h3>2.2.5、Android SDK的环境变量配置</h3>
<p>
<strong>Android SDK的环境变量配置
</strong></p>
<p> 1、右键选中我的电脑,点击击属性,进入系统界面,如图:</p>
<p>
<span style="color: rgba(255, 0, 0, 1)"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203740844-2046782013.png" alt="" width="736" height="388" loading="lazy"></span>
</p>
<p> 2、点击高级系统设置,如图:</p>
<p>
<span style="color: rgba(255, 0, 0, 1)"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203820395-101817804.png" alt="" width="409" height="472" loading="lazy"></span>
</p>
<p> 3、点击环境变量,如图:</p>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203845925-1759591246.png" alt="" width="518" height="508" loading="lazy">
</p>
<p><strong>找到自己的SDK安装的路径</strong></p>
<p>
<strong><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230314165802419-870785939.png" alt="" width="747" height="328" loading="lazy"></strong>
</p>
<p>
4、点击系统变量下的新建按钮,输入<code>ANDROID_HOME</code>,并输入SDK的根目录<code>E:\Android\SDK</code>,如图:
</p>
<p>
<img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203907611-185103648.png" alt="" width="694" height="177" loading="lazy">
</p>
<p>
5、点击确定,然后点击系统变量下的path变量,添加这两条内容<code>%ANDROID_HOME%\emulator</code>,%ANDROID_HOME%<code>\tools</code>,%ANDROID_HOME%<code>\SDK\tools\bin</code>,%ANDROID_HOME%<code>\SDK\platform-tools</code>,如图:
</p>
<p>
<span style="color: rgba(255, 0, 0, 1)"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203934484-1128519627.png" alt="" width="464" height="452" loading="lazy"></span>
</p>
<p>
6,点击确定,一直确定回到桌面,打开cmd终端,输入<code>adb version和<code>emulator -version</code>,确认配置生效,如图:
</code></p>
<p>
<span style="color: rgba(255, 0, 0, 1)"><img src="https://img2023.cnblogs.com/blog/2778762/202303/2778762-20230313203957898-338561368.png" alt="" width="500" height="366" loading="lazy"></span>
</p>
<p> 至此,Android SDK的环境变量已经配置完成!</p>
<p>
<span>接下来,选择“SDK工具”选项卡,并在此处选中“显示包详细信息”旁边的框。查找并展开该条目,然后确保已选中该条目。<code>Android SDK Build-Tools<code>33.0.0最后,点击“应用”,下载并安装安卓SDK及相关构建工具。
</code></code></span></p>
<h1>三、第一个React Native程序</h1>
<h2>3.1、创建应用</h2>
<p>在目标文件夹地址栏中中输入cmd命令</p>
<p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331142039346-1766242614.png" alt="" width="776" height="445" loading="lazy">
</p>
<p> 在命令行输入:</p>
<p>
如果您之前安装了全局软件包,请将其删除,因为它可能会导致意外问题:<code>react-native-cli
</code></p>
<div class="cnblogs_code">
<pre>npm uninstall -g react-native-cli @react-native-community/cli</pre>
</div>
<p>React Native 有一个内置的命令行界面,你可以用它来生成一个新项目。您可以使用 Node.js 附带的 访问它,而无需全局安装任何内容。让我们创建一个名为“AwesomeProject”的新 React Native 项目:<code>npx</code></p>
<div class="cnblogs_code">
<pre>npx react-native@latest init reactnative01</pre>
</div>
<p>如果要将 React Native 集成到现有应用程序中,或者从 Expo 中“弹出”,或者要向现有的 React Native 项目添加 Android 支持,则不需要这样做(请参阅与现有应用程序的集成)。您还可以使用第三方 CLI 来初始化您的 React Native 应用程序,例如 Ignite CLI。 </p>
<p>[可选]使用特定版本或模板</p>
<p>如果你想用特定的 React Native 版本启动一个新项目,你可以使用以下参数:<code>--version </code></p>
<div class="cnblogs_code">
<pre>npx react-native@X.XX.X init AwesomeProject --version X.XX.X</pre>
</div>
<h2>3.2、运行应用程序</h2>
<h4>第 1 步:启动Metro</h4>
<div class="cnblogs_code">
<pre>npx react-native start</pre>
</div>
<h4>第 2 步:启动应用程序</h4>
<div class="cnblogs_code">
<pre>npx react-native run-android</pre>
</div>
<p>如果一切设置正确,您应该很快就会看到您的新应用程序在Android模拟器中运行。</p>
<p><img src="https://reactnative.dev/assets/images/GettingStartedAndroidSuccessWindows-7ae949ba8187936ba342678c432d78f6.png" width="300" height="539"></p>
<p><span style="color: rgba(255, 0, 0, 1)">备注:JDK切换参考网站:<span style="color: rgba(255, 0, 0, 1)">(5条消息) 同时安装多个版本的JDK(JDK1.8和JDK17)并配置环境变量_沫洺的博客-CSDN博客 </span></span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(255, 0, 0, 1)">备注:安装AndroidStudio可以参考这个网站:<span style="color: rgba(255, 0, 0, 1)">(5条消息) Android Studio 安装配置教程 - Windows(详细版)_初学者-Study的博客-CSDN博客 </span></span></span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(255, 0, 0, 1)">备注:</span><span style="color: rgba(255, 0, 0, 1)">Android SDK的环境变量配置参考网站:<span style="color: rgba(255, 0, 0, 1)">(5条消息) Android SDK的环境变量配置_完成android sdk 环境变量配置、测试基本过程_w1990end的博客-CSDN博客 </span></span></span></p>
<h4><strong>3、连接android手机</strong></h4>
<p>准备一部Android手机,打开“USB安装”和“USB调试”(自行百度),然后通过数据线连接到开发电脑上。</p>
<p>在CMD中输入以下命令,查看是否连接成功:</p>
<div class="cnblogs_code">
<pre>adb devices</pre>
</div>
<p>连接成功的话会显示你的设备名称</p>
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331142649352-280111551.png" alt="" width="527" height="52" loading="lazy"></p>
<h2>3.3、手机投屏到电脑</h2>
<p>使用开源工具:scrcpy</p>
<p>源代码:https://github.com/Genymobile/scrcpy </p>
<p>下载windows端:https://github.com/Genymobile/scrcpy/blob/master/doc/windows.md </p>
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331110125539-985605338.png" alt="" loading="lazy"></p>
<p>如果你开启了虚拟机又连接了真机,scrcpy就可能需要你指定要投屏的设备。</p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331142518565-366582833.png" alt="" loading="lazy">
<p><img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331142809961-1918897658.png" alt="" loading="lazy"></p>
<img src="https://img2023.cnblogs.com/blog/63651/202303/63651-20230331142934132-1934758438.png" alt="" loading="lazy">
<h1>四、作业</h1>
<p>1、搭建Android原生开发环境</p>
<p>2、搭建React Native开发环境</p>
<p>3、写出一个Hello World!React Native程序并运行在真机与模拟器上</p>
<p>4、使用React Native写一个猜数字游戏</p>
<p><img src="https://img2023.cnblogs.com/blog/63651/202304/63651-20230404094405196-88273705.png" alt="" width="385" height="685" loading="lazy"></p>
<p> </p>
<p> </p>
<p> 随机生成一个数字,用户每次猜一个数,提示大了或小了,直到猜中。最少的排名第一。</p>
<p>5、物资仓储实物管理系统Ver1.0</p>
<p><img src="https://img2023.cnblogs.com/blog/63651/202304/63651-20230404094555019-190110695.jpg" alt="" width="469" height="833"></p>
<p>【React Native】 https://www.bilibili.com/video/BV1Cv4y1V7Vp/?share_source=copy_web&vd_source=475a31f3c5d6353a782007cd4c638a8a</p>
<p>具体要求请看视频的第10,11,12</p>
<h1>五、视频</h1>
<p>【React Native】 https://www.bilibili.com/video/BV1Cv4y1V7Vp/?share_source=copy_web&vd_source=475a31f3c5d6353a782007cd4c638a8a </p><br><br>
来源:https://www.cnblogs.com/best/p/17270201.html
頁:
[1]