npm run android挂在“加载依赖关系图完成”上(BlueWallet)

时间:2019-03-08 17:11:38

标签: android react-native avd

我正在尝试从script any change you make to database克隆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.

2 个答案:

答案 0 :(得分:2)

我自己找到了解决方案。实际上Loading dependency graph, done实际上不是错误,服务器也不会挂任何东西。它只是在等待仿真器连接到它。

这是我所做的:

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

  • 在另一个终端中,我运行npm run android。现在将选择仿真器,并将其连接到运行第一个命令的服务器的8081端口,一切正常。

注意:我确实在项目的某些部分进行了一些改动,并在OS上做了如下操作。如果将来有人想要这样做,可能对他有用:

  • 将Java主目录变量设置为正确的变量(将其添加到bashrcprofile或..)

    export JAVA_HOME="/usr/lib/jvm/java-10-openjdk"
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 设置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
    
  • 运行模拟器

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

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

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

答案 1 :(得分:0)

在我的情况下,当应用程序运行有关“ BASE_MAP.fill(255)”的错误时,我尝试使用“ react-native run-android”。然后,我运行“ npm run prepare”来解决上述错误。希望我的解决方案可以为您提供帮助。

The app runs in my Android