React Navigation(使用 Expo) - MainActivity.java 文件的位置?
Posted
技术标签:
【中文标题】React Navigation(使用 Expo) - MainActivity.java 文件的位置?【英文标题】:React Navigation (using Expo) - location of the MainActivity.java file? 【发布时间】:2019-05-31 18:04:09 【问题描述】:我正在浏览 React Navigation 文档。
在React Navgation - Getting Started 指令中,它说
“要完成 android 的 react-native-gesture-handler 的安装”,我需要编辑 MainActivity.java
文件。
但是我的项目中没有该文件,或任何其他与之相关的类似目录 (./android
)。
我使用expo-cli
创建了我的项目,特别是:
# To create a new React Native project
$ expo init project-name
# And to run the App in Expo
$ expo start
我想知道我是否必须创建一个构建以及它是如何完成的,以便 Expo 创建 Android 和 ios 构建使用的文件,或者我还缺少什么?
【问题讨论】:
【参考方案1】:世博会
当您使用 Expo 创建您的应用程序时,您不会有一个 android 文件夹,因为这些是从您那里抽象出来的。
如果您希望使用需要您编辑本机代码的依赖项,那么您需要弹出您的应用程序。 https://docs.expo.io/versions/latest/expokit/eject
从您的命令行运行 expo 弹出,它将为您构建必要的 ios 和 android 文件夹。但是,如果您退出应用程序,则会产生多种后果。你应该仔细阅读上面的链接。
反应导航
但是,由于 Expo 建议使用 react-navigation
,您不需要安装 react-native-gesture-handler
,因为它已经安装在 Expo 中
https://reactnavigation.org/blog/2018/11/17/react-navigation-3.0.html#installation
首先,使用您喜欢的包管理器安装库:
yarn add react-navigation@^3.0.0
接下来,安装 react-native-gesture-handler。如果你使用 Expo,你不需要在这里做任何事情,它包含在 SDK 中。
它甚至在安装说明页面上提到了它https://reactnavigation.org/docs/en/getting-started.html#installation
接下来,安装 react-native-gesture-handler。如果你使用 Expo,你 这里不需要做任何事情,它包含在 SDK 中。否则:
react-native-gesture-handler
类似地检查 react-native-gesture-handler
的文档,它说:
Gesture Handler 已经是 Expo 的一部分,没有额外的 需要配置。但是,考虑到 Expo SDK 团队可能 花一些时间来包含最新版本的库 - 所以 Expo 可能并不总是尽快支持我们所有的最新功能 出去。
https://kmagiera.github.io/react-native-gesture-handler/docs/getting-started.html#with-expo-https-expoio
使用 Expo 创建构建
没有必要重复此处的步骤来使用 Expo 创建构建,它在 Expo 文档中提供了相当多的详细信息,可以在此处找到 https://docs.expo.io/versions/latest/distribution/building-standalone-apps
【讨论】:
感谢 Andrew 的快速回答和对eject
的解释。起初,文档没有明确说明如果您使用 Expo,则不需要修改 MainActivity.java
。这说得通。再次感谢!以上是关于React Navigation(使用 Expo) - MainActivity.java 文件的位置?的主要内容,如果未能解决你的问题,请参考以下文章
Expo Camera 仅使用 React Navigation 打开一次
无法让 Jest expo 应用程序与 react-navigation 一起使用
找不到变量:用户。我正在使用 firebase auth 和最新的 SDK、expo SDK 42、react navigation 6.x.x
React Navigation-Introduction (简介)