最近在研究移动端钱包项目,移动端小狐狸钱包的Git仓库代码早已开源,但运行它却费了好些功夫,查了网上没有相关文章分享,踩了很多坑,特此记录。

环境安装

首先,由于 我是基于mac os开发安卓app,所以我们需要先到react-native环境搭建官网去照着执行下来。
其次, follow MetaMask仓库的环境搭建步骤继续安装环境及设备环境

可预见困难(踩坑):

  1. 安装watchman非常的慢

解决方案:使用科大源安装homebrew

  1. // 首先设置环境变量
  2. export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
  3. export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
  4. export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
  5. //运行Homebrew安装脚本
  6. /bin/bash -c "$(curl -fsSL https://github.com/Homebrew/install/raw/HEAD/install.sh)"
  1. 到安装虚拟机步骤时,推荐安装genymotion,是一个安卓虚拟机app,配置一个如下配置的机子。Screen Shot 2022-07-15 at 14.59.39.png

Screen Shot 2022-07-15 at 14.59.54.png

  1. 此外,再安装一个ADB(android debug bridge ),一个多功能命令工具行,可以帮助我们查看当前电脑链接的设备信息。(如下可以看到链接了一个device,因为我开了一个虚拟机)Screen Shot 2022-07-15 at 15.31.25.png

    android studio集成genymotion

    image.png
    1.打开Android Studio依次点击最上方菜单栏中“File”->“Setting…”。
    2.在弹出的设置界面依次点击“Plugins”->“ Browse repositories…”->弹出的搜索框中输入“Genymotion”->出现Genymotion介绍界面,点击“Install plugin”安装Android Studio的Genymotion插件。
    3.安装后,在上方菜单拦下的快捷图标栏会出现Genymotion的图标。
    4.点击Genymotion的快捷启动图标,设置Genymotion的启动目录位置。这里选择安装Genymotion后名称为“Genymotion”的文件夹。
    5.设置完后,再次点击快捷启动图标,出现“Genymotion Device Manager”窗口,这里可以选择已经创建了的模拟器,选择“Start…”直接启动Genymotion模拟器,选择“New…”创建新的Genymotion模拟器。
    6.启动模拟器后,效果如下图。这里还可以进行其它设置,比如将当前的竖屏模式换为横屏模式等。

    可预见困难(踩坑):

  2. genymotion如果无法正常打开,请先下载virtualBox,然后重启。

Screen Shot 2022-07-15 at 16.04.15.png

运行demo

在装完各种环境依赖后,先试着能不能运行一个react-native官网的小demo,如果能正常在虚拟机上打开并调试,那就可以继续运行metamask-mobile项目。
注意要先打开genymotion里的虚拟机,再运行demo。
在yarn android命令运行后,它应当会自动从虚拟机上打开这个应用程序。

  1. // Creating a new application
  2. npx react-native init AwesomeProject
  3. cd AwesomeProject
  4. yarn android

image.png
看到如上图,说明运行成功。

可预见困难(踩坑):

  1. 可能会出现无法自动在虚拟机上启动程序,报错如下

Screen Shot 2022-07-14 at 13.54.46.png
解决方案具体可查看此链接,此解决方案100%可行。

运行metamask-mobile程序

demo可以运行成功后,来到metamask-mobile目录下

  1. // 进入项目根目录
  2. yarn setup
  3. // 成功后
  4. yarn start:android

可预见困难(踩坑):

  1. setup阶段如果成功运行了,那就离成功运行项目不远了。
  2. .env文件报错,请先进行如下设置,设置完后并不影响运行

Screen Shot 2022-07-15 at 16.11.00.png

  1. yarn start阶段第一次执行要花费至少15分钟左右,极大概率出现报错,先尝试清理内存。
  2. 若报错如下,请到android studio的sdk manager里面去增加一个google play 的sdk,即可成功。

Screen Shot 2022-07-14 at 18.55.17.png
Screen Shot 2022-07-14 at 18.56.39.png

🥰祝大家成功跑起项目!