完整報(bào)錯(cuò)如下:
error Failed to install the app. Make sure you have the Android development environment set up:
主要排查一下幾點(diǎn):
1糯钙、模擬器是否開(kāi)啟或者是否連接已打開(kāi)USB調(diào)試的手機(jī)
2创葡、JDK 環(huán)境變量的設(shè)置(jdk版本必須1.8)
3、是否安裝JDK及配置全局
4匠抗、是否安裝Android SDK循榆,及buildToolsVersion是否安裝對(duì)應(yīng)版本
首先我們直接將項(xiàng)目在Android Studio里打開(kāi),這樣容易發(fā)現(xiàn)具體錯(cuò)誤玩祟,通過(guò)項(xiàng)目編譯發(fā)現(xiàn)是jDK和SDK沒(méi)有正確配置對(duì)應(yīng)版本導(dǎo)致呢堰,下載對(duì)應(yīng)版本后配置全局
以Mac OS為例,進(jìn)行設(shè)置環(huán)境變量
首先終端輸入
open -e .bash_profile
若無(wú)改文件須自己新建:
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
需要注意的是可能會(huì)存在設(shè)置后關(guān)閉終端后重新打開(kāi)依舊不生效咧欣,這里是因?yàn)?br>
mac在啟動(dòng)后不會(huì)去默認(rèn)加載~/.bash_profile文件浅缸,這里可以在.zshrc文件里增加一個(gè)命令,使其開(kāi)機(jī)后就執(zhí)行加載魄咕。
終端中執(zhí)行命令衩椒,打開(kāi).zshrc文件:
open -e ~/.zshrc
在文件里加入命令:source ~/.bash_profile
然后終端輸入:(這樣可以不需要重啟生效)
source ~/.zshrc
2.但是后面用 react-native run-android 命令跑提示:react-native :app:installDebug FAILED
全文報(bào)錯(cuò)如下:
> 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
這里可以通過(guò)以下步驟解決:
1、手機(jī)卸載掉需要跑的軟件(如果已安裝的話)
2哮兰、如果是MIUI系統(tǒng)毛萌,進(jìn)入開(kāi)發(fā)者選項(xiàng)-向下滾動(dòng)找到“打開(kāi) MIUI 優(yōu)化”并關(guān)閉,重啟手機(jī)
然后重新跑react-native run-android