답변:
android/
반응 네이티브 프로젝트 의 디렉토리로 이동local.properties
이 줄로 불리는 파일을 만듭니다 :sdk.dir = /Users/USERNAME/Library/Android/sdk
USERNAME
macOS 사용자 이름은 어디에 있습니까
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
local.properties
아래와 같이 Android SDK 경로를 붙여 넣으십시오.
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
sdk.dir = /home/USERNAME/Android/Sdk
USERNAME
사용자 이름으로 교체
이제 react-native run-android
터미널에서를 실행하십시오 .
sdk.dir=/home/USERNAME/Android/Sdk
ANDROID_PATH를 추가해 볼 수 있습니다
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
ANDROID_PATH
환경에 있습니다 (Ubuntu, .bashrc 파일). 그러나 어떤 이유로 든 여전히 문제가 발생합니다. local.properties
다른 답변에 명시된대로 경로를 만들고 배치하여 문제를 해결했습니다.
local.properties
그러나했다.
열고 ~/.bash_profile
추가하십시오 :
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
source ~/.bash_profile
새 내보내기 행을 적용하려면 입력 해야합니다.
업데이트 하지 마십시오local.properties
. 확실히 나쁜 습관입니다.
이것이 내가 고친 방법입니다. ~/.bash_profile
또는에 다음을 추가하십시오 ~/.bashrc
.
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH
참고 : 내가 사용하는 brew cask
설치 안드로이드 SDK를 다음 지시 사항 .
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
Windows에있는 경우 android/local.properties
파일 에서 백 슬래시와 콜론을 이스케이프 (백래시 추가) 하십시오. 거기에 없다면 그것을 만드십시오.
sdk.dir = C\:\\Android\\sdk
MAC / Unix에서 React Native0.58을 시작하도록 업데이트 된 단계
나노 ~ / .bash_profile
ANDROID_HOME = $ HOME / 라이브러리 / Android / sdk 내보내기
내보내기 PATH = $ PATH : $ ANDROID_HOME / 에뮬레이터
내보내기 PATH = $ PATH : $ ANDROID_HOME / tools
내보내기 PATH = $ PATH : $ ANDROID_HOME / tools / bin
내보내기 PATH = $ PATH : $ ANDROID_HOME / platform-tools
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
Windows 사용자의 경우
간단한 해결책 중 하나는 SDK 경로를 환경 변수 목록으로 설정하는 것입니다.
노트 :
Android SDK는 일반적으로 다음 위치에 있습니다.
C : \ Users \ YourUserName \ AppData \ Local \ Android \ Sdk
터미널은 기존의 모든 환경 변수를 보유하므로 현재 터미널 을 닫아야합니다 .
프로젝트가 제공된 경로를 통해 프로젝트 설정에서 설정된 SDK를 찾지 못하므로 프로젝트가 올바른 방향을 가리켜 야하며이를 수행하기위한 몇 가지 옵션이 있지만 올바른 SDK 폴더를 먼저 찾아 보도록하겠습니다.
패키지 관리자에서
당신이 사용하는 경우 패키지 기반 JRE를 설치 같은 자바 8 JRE 데비안 기반 배포에서 사용자 정의 PPA를 통해, 또는 사용 오픈 JDK를 , 디렉토리는 가장 가능성이있을 것이다 는 / usr / lib 디렉토리 / JVM을 / 자바-8 신탁 (또는 선택한 버전). 이 경로는 JAVA_HOME 환경 변수 에서 찾을 수 있습니다 .
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
수동 다운로드
Java JRE / SDK 다운로드 를 통해 설치 한 경우 폴더를 배치 한 위치 (예 : / home / username /jdk-8u121_1.8.0) 또는 이와 유사한 것)입니다.
스크립팅 된 설치는 SDK를 / opt / java-8-oracle에 추가 할 수도 있지만이 글을 쓰는 시점에서 Java Install 명령어는 폴더 위치를 사용자의 손에 맡깁니다.
안드로이드 스튜디오 2.2
마지막으로 Android Studio를 사용하는 경우 SDK는 Studio의 SDK 관리자를 통해 다운로드 한 SDK 파일을 배치하도록 설정 한 위치에 배치됩니다. 로 이동하여 파일> 설정> 모양 및 행동> 시스템 설정> 안드로이드 SDK , 당신은 변화에 대한 옵션을 상단에있는 SDK 위치 설정하고있는 폴더의 기본 찾을 수 있습니다 ~ / 안드로이드 / SDK를 .
이제 SDK의 위치를 알았으므로 반응을 기본으로 알려야합니다.
옵션 1 : local.properties로 설정
이 방법은 매우 간단 하며 다음 폴더에 local.properties 파일을 작성하기 만하면됩니다 . 여기서 Project_Folder 는 React-Native 애플리케이션의 기본입니다.
Project_Folder / Android / App
local.properties에서 sdk.dir 변수를 SDK 폴더의 경로로 설정하려고합니다.
sdk.dir=/home/username/Android/Sdk
이것이 문제를 해결하는 가장 쉬운 방법이지만 특히 여러 프로젝트로 작업하는 경우에는 최선의 방법이 아닙니다. 모든 프로젝트에 대해 모든 프로젝트에 대해이 파일을 작성해야하며 폴더가 변경되면 각 프로젝트의 local.properties에 대해이 파일을 변경하도록 계획해야합니다.
파일이 저장되면 react-native run-android 명령을 다시 실행하십시오 .
옵션 2 : 환경 변수가있는 설정 폴더
다른 옵션은 SDK 폴더를 React-Native가 기본적으로 찾는 로컬 환경 변수로 설정하는 것입니다. 이를 위해 ANDROID_HOME 경로를 추가합니다. 보너스로 우리는 또한 같은 장소에 안드로이드 도구를 추가 할 수 있습니다. 마지막으로로드되는 홈 디렉토리의 .bash_profile 또는 .profile 파일에 이것을 추가해야하므로 다른 설정이 우리의 설정보다 우선하지 않도록 할 수 있습니다. 이들은 홈 디렉토리에 있으므로 에스컬레이션 된 권한으로 편집 할 필요가 없습니다.
**$ vim ~/.profile** (use nano or pico if you prefer)
파일에서 SDK 폴더를 위에서 찾은 폴더로 바꾸고 다음 줄을 추가하십시오. 예를 들어 Android Studio 폴더를 사용합니다.
export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools
파일을 저장 한 후 프로파일 설정을 적용하십시오.
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
Sdk 폴더가 올바르게 표시되면 축하합니다! react-native 명령을 다시 실행하고 앱 빌드 프로세스가 계속 진행되는 것을보십시오.
여전히 문제가있는 경우
어떤 이유로 " > / sdk / folder에서 해시 문자열이 'android-23'인 대상을 찾을 수 없습니다."라는 오류 가 표시되면 프로젝트의 빌드 버전과 설치된 SDK 버전이 일치하는지 확인해야합니다. -Native 기본값은 23.0.1입니다) Project_Folder / android / app / build.gradle 에서 기본 버전을 찾은 다음 buildToolsVersion 을 검색 할 수 있습니다 할 수 있습니다. 물론이 파일에서 버전을 변경하거나 Android Studio에서 File 로 이동하십시오. > 프로젝트 SDK 를 변경하기위한 프로젝트 구조 . 수행중인 작업을 절대적으로 알지 않는 한이 버전을 변경하지 않는 것이 좋습니다. 그렇지 않으면 프로젝트에서 찾고있는 SDK 버전을 설치하십시오.
내가 찾을 수있는 가장 좋은 해결책은 다음과 같습니다.
이것이 gradle 파일의 모습입니다 :
모든 것이 머신 설정과 잘 작동하고 Android Studio를 사용하여 프로젝트를 컴파일 할 수 있다면 react-native cli build android 명령을 통해 앱을 빌드하는 것을 막을 수있는 것은 없습니다.
이 접근 방식을 사용하면 SDK 문제를 해결할뿐만 아니라 Android 개발을위한 머신 설정과 관련된 많은 문제도 해결할 수 있습니다. 가져 오기는 자동으로 SDK 위치를 찾고 local.properties를 작성합니다. 따라서 수동 개입에 대해 걱정할 필요가 없습니다.
Linux 사용자의 경우
앱이 android-sdk의 경로를 얻지 못하므로 linux (ubuntu)를 사용하는 경우 "local.properties"라는 파일을 추가하고 app 폴더 안에 생성 된 android 폴더에 저장해야합니다. .
앱을 실행하려면 android.sdk의 경로 인 local.properties 파일 안에 아래 행을 추가해야합니다.
sdk.dir=/opt/android-sdk/
react-native run-android 명령을 저장하고 다시 실행하십시오.
또는
당신은 터미널을 열고 입력 할 수 있습니다
sudo nano ~ / .bashrc
파일 끝에 아래 경로를 붙여 넣습니다.
ANDROID_HOME = "/ opt / android-sdk /"내보내기
하고 컴퓨터를 다시 시작 하고 다시 실행 반응 네이티브 실행 안드로이드 그 이후.
참고 :-.bashrc 파일에 set path를 넣으면 local.properties 파일을 만들 필요조차 없습니다.
생성하고 android studio
프로젝트하면 local.properties
프로젝트 루트 디렉토리 내에 파일이 생성 된 것을 볼 수 있습니다 . 반응 네이티브 프로젝트를 만들면 해당 파일이 만들어지지 않습니다. 따라서 수동으로 만들어야합니다. 그리고 그것에 skd 디렉토리를 추가해야합니다. 따라서 안드로이드 폴더 안에 새로운 파일을 만드십시오 (root에서). sdk 경로를 다음과 같이 입력
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
하십시오. 기억하십시오 : single \을 double로 제거하십시오. 위와 같이.
local.properties 파일이없는 경우 'sdk.dir = / Users / apple / Library / Android / sdk'를 사용하여 "project / android"폴더에 파일을 생성하고 해당 위치에 SDK가 있는지 확인하십시오.
Mac에서 사용자 정의 확장자를 가진 파일을 작성하려면 다음 링크를 참조하십시오.
문제는 환경 변수를 잘못 구성했다는 것입니다. 다음과 같은 SDK를 사용해야합니다 (Windows).C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
자세한 정보 : https://facebook.github.io/react-native/docs/getting-started
포인트 3의 Android 개발 환경 섹션에서 기본 CLI 빠른 시작을 선택하십시오. ANDROID_HOME
환경 변수 구성
지금 당장 그대로 수행하면 환경 변수를 사용하도록 각 프로젝트를 구성해야하며 프로젝트가 장비를 가진 여러 사람 사이에 있으면 문제가 발생할 수 있습니다. 내가 말했듯이 그렇게하면 프로젝트를 구성 할 필요가 없습니다.
시스템의 다른 안드로이드 프로젝트 local.properties를 복사하고 반응하는 네이티브 프로젝트의 android 폴더에 붙여 넣으십시오.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk