React Native

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

2021-07-09  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读