美文网首页React Native
RN跑Android项目时提示:error Failed to

RN跑Android项目时提示:error Failed to

作者: 光锥外 | 来源:发表于2021-07-09 17:17 被阅读0次

    完整报错如下:
    error Failed to install the app. Make sure you have the Android development environment set up:


    主要排查一下几点:
    1、模拟器是否开启或者是否连接已打开USB调试的手机
    2、JDK 环境变量的设置(jdk版本必须1.8)
    3、是否安装JDK及配置全局
    4、是否安装Android SDK,及buildToolsVersion是否安装对应版本

    首先我们直接将项目在Android Studio里打开,这样容易发现具体错误,通过项目编译发现是jDK和SDK没有正确配置对应版本导致,下载对应版本后配置全局


    以Mac OS为例,进行设置环境变量
    首先终端输入

    open -e .bash_profile 
    

    若无改文件须自己新建:

    cd ~
    touch .bash_profile
    

    下面是我的.bash_profile文件(别忘了改掉 用户名:frank)

    # Java SDK
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
    
    # Android SDK
    export ANDROID_HOME=/Users/frank/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/platform-tools 
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/emulator
    export PATH=$PATH:$ANDROID_HOME/build-tools/29.0.2  
    
    export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
    
    [[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
    
    

    然后终端输入:(这样可以不需要重启生效)

    source ~/.bash_profile
    

    需要注意的是可能会存在设置后关闭终端后重新打开依旧不生效,这里是因为
    mac在启动后不会去默认加载~/.bash_profile文件,这里可以在.zshrc文件里增加一个命令,使其开机后就执行加载。
    终端中执行命令,打开.zshrc文件:

    open -e ~/.zshrc
    

    在文件里加入命令:source ~/.bash_profile
    然后终端输入:(这样可以不需要重启生效)

    source ~/.zshrc
    

    2.但是后面用 react-native run-android 命令跑提示:react-native :app:installDebug FAILED
    全文报错如下:

    > Task :app:installDebug FAILED
    29 actionable tasks: 4 executed, 25 up-to-date
    Unable to install /Users/frank/Desktop/WorkProject/Recat Native/rn2/android/app/build/outputs/apk/debug/app-debug.apk
    com.android.ddmlib.InstallException: Unknown failure: Security exception: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag
    java.lang.SecurityException: You need the android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS permission to use the PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS flag
    

    这里可以通过以下步骤解决:
    1、手机卸载掉需要跑的软件(如果已安装的话)
    2、如果是MIUI系统,进入开发者选项-向下滚动找到“打开 MIUI 优化”并关闭,重启手机
    然后重新跑react-native run-android

    相关文章

      网友评论

        本文标题:RN跑Android项目时提示:error Failed to

        本文链接:https://www.haomeiwen.com/subject/tewfpltx.html