expo 没办法使用 react-native-amap3d (尝试过, 会报错 module null), 需要
expo eject
变为 react-native 项目, 进行react-native link
(从 v2.0.0 开始支持 RN 的 autolinking,不再需要手动配置。),expo eject
会导致expo start
等功能不能用.
萌新前端, 请多多包涵!~OWO
初始化 Expo 项目
如果没有安装 expo/cli 先 npm i -g expo/cli
或 yarn global add expo/cli
进行安装
1 | $ expo init |
Eject Expo 项目
1 | $ npm run eject |
初始化项目环境
如果直接使用 npm run android
或 yarn android
会报错 error Failed to install the app. Make sure you have the Android development environment set up
(错误:无法安装应用程序。确保您已经设置了 Android 开发环境)
需要使用 Android Studio 先打开此项目下的 android 文件夹, 它会自动帮你设置环境!
启动项目
1 | $ npm run android |
我所在的 Expo 版本有个坑, 如果直接使用 npm run android
或 yarn android
会报错 (如果启动成功, 直接略过此处)
1 | xxx/my-app/android/app/src/main/java/com/runomeow/myapp/MainActivity.java:19: 错误: 对于show(MainActivity,SplashScreenImageResizeMode,boolean), 找不到合适的方法 |
结合 issues 修改 /android/app/src/main/java/com/runomeow/myapp/MainActivity.java:19
就可以了
1 | 找到 |
使用 react-native-amap3d
注意, 一定要设置
<MapView />
宽高才能显示. react-native-amap3d 不支持 x86 平台, 模拟器运行会闪退, 真机运行正常!
1 | $ npm install react-native-amap3d |
修改 App.tsx
1 | import { MapView } from 'react-native-amap3d'; |