npm run android 挂在“正在加载依赖图,完成”(BlueWallet)

Rez*_*adi 6 android android-virtual-device react-native

我正在尝试从这个 github 源中克隆 BlueWallet 。

我克隆了项目并安装了所需的包。此外,模拟器正在运行 android studio AVD。

但是每当我尝试运行npm start android它时,它都会挂在文本上Loading dependency graph, done.,不会再发生任何事情!

这很奇怪,因为每当我尝试运行相同的场景和命令来启动连接到模拟器的纯 react-native 时,它​​都可以正常工作。

结果npm start android如下:

$ npm start android

> BlueWallet@3.8.3 start /home/Learning/ReactNative/BlueWallet
> node node_modules/react-native/local-cli/cli.js start "android"

   ??????????????????????????????????????????????????????????????????????????????        ??
?                                                                                  ?
?  Running Metro Bundler on port 8081.                                             ?
?                                                                                  ?
?  Keep Metro running while developing on any JS projects. Feel free to            ?
?  close this tab and run your own Metro instance if you prefer.                   ?
?                                                                                  ?
?  https://github.com/facebook/react-native                                        ?
?                                                                                  ?
??????????????????????????????????????????????????????????????????????????????    ??

Looking for JS files in
   /home/Learning/ReactNative/BlueWallet 

Loading dependency graph, done.
Run Code Online (Sandbox Code Playgroud)

Rez*_*adi 3

我自己找到了解决方案。实际上Loading dependency graph, done这并不是一个错误,服务器也没有挂起任何东西。它只是等待模拟器连接到它。

这是我所做的:

  • 在一个单独的终端中,我运行了npm start,这样服务器(打包程序)就启动了。

  • 在另一个终端中,我运行npm run android. 现在将选择模拟器并将其连接到第一个命令中的服务器正在运行的 8081 端口上,一切都会好起来的。

注意:我确实对项目的某些部分做了一些修改,并在操作系统上做了如下一些操作。如果将来有人想做同样的事情,也许对他有用:

  • 将 java home 变量设置为正确(将其添加到bashrcor profileor ..)

    export JAVA_HOME="/usr/lib/jvm/java-10-openjdk"
    export PATH=$JAVA_HOME/bin:$PATH
    
    Run Code Online (Sandbox Code Playgroud)
  • 设置android SDK和其他环境变量;

    export ANDROID_HOME=/home/execut3/android-sdk
    export ANDROID_SDK_ROOT=/home/execut3/android-sdk
    export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
    export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$PATH
    
    Run Code Online (Sandbox Code Playgroud)
  • 运行模拟器

    $ emulator -list-avds
    $ emulator -avd <avd name>
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果Execution failed for task ':app:compileDebugJavaWithJavac' react native发生错误,请在android/app/src/main/java/com/bluewallet/MainApplication.java第 19 行将其更改为return true忽略调试。此外,此链接也可能很有用。

  • 将存储库添加到google()比android/build.gradle文件中其他位置更高的位置。

  • 将版本更改为react-native文件0.57.5中的版本package.json并删除node_modules然后再次安装。