기본 안드로이드 빌드에 대응하지 못했습니다.SDK 위치를 찾을 수 없음
안드로이드를 실행할 때 오류가 발생합니다.
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
- 로
android/
의 리액트 네이티브 . - 는 파일을 .
local.properties
다음 줄로:
sdk.dir = /Users/USERNAME/Library/Android/sdk
에▁where디USERNAME
사용자 mac입니다.OS 사용자 이름입니다.
- 리액트 네이티브 프로젝트로 이동 -> Android
local.properties
- 파일 열기
아래와 같이 Android SDK 경로를 붙여넣습니다.
- 윈서에서
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
- macOS »
sdk.dir = /Users/USERNAME/Library/Android/sdk
- linux 파일에서
sdk.dir = /home/USERNAME/Android/Sdk
- 윈서에서
를 바꿉니다.USERNAME
과
제실을 합니다.react-native run-android
당신의 터미널에서.
Android_PATH를 추가해 보십시오.
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
을 엽니다.~/.bash_profile
추가:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
source ~/.sys_profile
업데이트하는 것은 권장되지 않습니다.local.properties
파일: 누락된 환경 변수를 추가합니다.
환경 변수를 업데이트합니다.
안드로이드-28 / 안드로이드-30
sdk는 /Library/Android/sdk 또는 /usr/local/에 설치하여 확인할 수 있습니다.
which sdkmanager
Android_HOME 내보내기
export ANDROID_HOME=$HOME/Library/Android/sdk
또는
export ANDROID_HOME="/usr/local/share/android-sdk"
그런 다음 $PATH에 추가합니다.
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/28.0.1:$PATH
안드로이드-23
export ANT_HOME=/usr/local/opt/ant
export MAVEN_HOME=/usr/local/opt/maven
export GRADLE_HOME=/usr/local/opt/gradle
export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
export ANDROID_NDK_HOME=/usr/local/share/android-ndk
export INTEL_HAXM_HOME=/usr/local/Caskroom/intel-haxm
저는 용한사를 요.brew cask
다음 지침에 따라 Android SDK를 설치합니다.
자세한 내용은 https://developer.android.com/studio/intro/update#sdk-manager 를 참조하십시오.
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
React Native 0.58을 MAC/Unix에서 시작하기 위한 단계 업데이트
- 터미널에서 bash_profile 열기
nano ~/.sys_profile
- 맨 아래로 스크롤하고 https://facebook.github.io/react-native/docs/getting-started 에서 다음 행을 추가합니다.
Android 내보내기_HOME=$HOME/라이브러리/Android/sdk
내보내기 PATH=$PATH:$ANDROID_HOME/에뮬레이터
PATH=$PATH:$ANDROID_HOME/tools 내보내기
PATH=$PATH:$ANDROID_HOME/tools/bin 내보내기
내보내기 PATH=$PATH:$ANDROID_HOME/플랫폼-도구
Control+S to save
Control+X to exit
Y to save changes
- 터미널의 변경 사항 업데이트
source ~/.bash_profile
- 경로 확인:
echo $PATH
- 문제가 없는지 확인합니다.
adb devices
추가.android/local.properties
. 없으면 파일을 만듭니다.
sdk.dir = C\:\\Android\\sdk
Windows 사용자용
간단한 솔루션 중 하나는 SDK 경로를 환경 변수 목록으로 설정하는 것입니다.
- 환경 변수로 이동합니다.(사용자 PC > 등록 정보)
- 새 시스템 변수 생성
- 변수 이름을 Android_HOME으로 설정합니다.
- Android SDK 위치에 변수 값 설정
- 확인을 누릅니다(3개 대화 상자에 대해 3회).
참고:
Android SDK는 일반적으로 다음 위치에 있습니다.
C:\사용자\사용자 이름\AppData\Local\안드로이드\SDK
터미널에 기존 환경 변수가 모두 포함되어 있으므로 현재 터미널을 닫아야 합니다.
Linux 배포의 SDK 경로 오류 수정
제공된 경로를 통해 프로젝트 설정에서 SDK 세트를 찾을 수 없으므로 프로젝트가 올바른 방향을 가리키고 있어야 하며 이를 수행할 수 있는 몇 가지 옵션이 있지만 먼저 올바른 SDK 폴더를 찾는 것으로 시작하겠습니다.
SDK 찾기
패키지 관리자로부터
Debian 기반 배포판에서 사용자 지정 PPA를 통해 Java 8 JRE와 같은 패키지 기반 JRE 설치를 사용하거나 OpenJDK를 사용하는 경우 디렉토리는 /usr/lib/jvm/java-8-oracle(또는 선택한 모든 버전)일 가능성이 높습니다.이 경로 집합은 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 설치 지침은 폴더 배치를 사용자의 손에 맡깁니다.
안드로이드 스튜디오 2.2
마지막으로 Android Studio를 사용하는 경우 Studio의 SDK Manager를 통해 다운로드한 SDK 파일을 저장하도록 설정한 위치에 SDK가 배치됩니다.File > Settings > Appearance & Behavior > System Settings > Android SDK로 이동하면 상단에 SDK 위치 설정을 변경할 수 있으며 기본 폴더는 ~/Android/Sdk입니다.
SDK 경로 설정
이제 SDK가 어디에 있는지 알았으니, 리액트 네이티브에게 알려야 할 때입니다.
옵션 1: local.properties로 설정
이 방법은 매우 간단하며 필요한 것은 다음 폴더에 local.properties 파일을 만드는 것입니다. 여기서 Project_Folder는 React-Native 응용 프로그램의 기본입니다.
프로젝트_폴더/안드로이드/앱
local.properties에서 sdk.dir 변수를 SDK 폴더의 경로로 설정하려고 합니다.
sdk.dir=/home/username/Android/Sdk
이 방법이 문제를 해결하는 가장 쉬운 방법은 아니지만, 특히 여러 프로젝트로 작업하는 경우에는 이 방법이 최선은 아닙니다.모든 프로젝트에 대해 이 파일을 생성해야 하며 폴더가 변경되면 각 프로젝트의 local.properties에 대해 이 파일을 변경할 계획입니다.
파일이 저장되면 react-native run-android 명령을 다시 실행합니다.
옵션 2: 환경 변수가 있는 폴더 설정
다른 옵션은 React-Native가 기본적으로 찾는 로컬 환경 변수로 SDK 폴더를 설정하는 것입니다.이를 위해 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 명령을 다시 실행하고 앱 빌드 프로세스가 계속 진행되는 것을 확인합니다.
여전히 문제가 있는 경우
어떤 이유로 인해 "> failed to find the target with hash string 'android-23'이 /sdk/folder:에 있는 대상: 프로젝트 빌드 버전과 설치된 SDK 버전이 일치하는지 확인해야 합니다(React-Native 기본값은 23.0.1).Project_Folder/android/app/build.gradle에서 기본 버전을 찾은 다음 빌드를 검색할 수 있습니다.도구 버전.물론 이 파일에서 버전을 변경하거나 Android Studio에서 File > Project Structure로 이동하여 Project SDK를 변경할 수 있습니다.당신이 무엇을 하고 있는지 완전히 알지 못하는 한, 프로젝트가 찾고 있는 SDK 버전을 설치하지 않는 한 이 버전을 변경하는 것을 제안하지 않을 것입니다.
이 대답은 다음을 위한 것입니다.MacOs Catalina
사용자 또는zsh
이제 Mac에서 zsh를 기본 로그인 셸 및 대화형 셸로 사용하는 사용자입니다.
네이티브 리액트 네이티브의 Setting up the development environment
가이드. 그러면 다음을 수행합니다.
먼저 확인합니다.local.properties
파일이 존재하는지 여부.파일이 존재하지 않으면 다음 행을 만들고 추가합니다.
sdk.dir=/Users/<youcomputername>/Library/Android/sdk
위에서 변경한 후 다음을 수행합니다.
- 을 엽니다.
~/.zshrc
코드 변환기를 사용합니다.에는 vim vim 사용다니합는우에▁vim▁use를 사용합니다.
vim ~/.zshrc
- 경로에 다음 행을 추가합니다.
export ANDROID_HOME="/Users/<yourcomputername>/Library/Android/sdk"
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
위의 행을 올바르게 추가해야 합니다. 그렇지 않으면 이상한 오류가 발생합니다.
변경 내용을 저장하고 편집기를 닫습니다.
마지막으로, 이제 변경 사항을 컴파일합니다.
source ~/.zshrc
제 경우에는 이 일을 할 수 있습니다.이것이 당신에게 도움이 되길 바랍니다.
올바른 전체 경로를 작성해야 합니다.'~/라이브러리/Android/sdk'를 사용하지 마십시오.
vi ~/.bashrc
export ANDROID_HOME=/Users/{UserName}/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
source ~/.bashrc
Android Studio와 별도로 SDK를 가져와야 하는 Ubuntu에서는 경로가 Android Studio에서 작동하지만 React Native에서는 파일 이름을 만들어야 합니다.local.properties
.
를 들어 inn 를예들 여관.~/AwesomeProject/android
다음 행을 삽입합니다.
sdk.dir=/path/to/sdk/in/your/computer
를 합니다.local.properties
대응 프로젝트의 안드로이드 폴더에서 실행해 보십시오.
저는 이것을 했고 성공했습니다.
에확십오시에서 .local.properties
파일 이름:
sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
형식이 적절한지 아닌지 여부
Ubuntu를하여 만약당를 Ubuntu사용있다면고하당요이프브로응, 만신의네반가티파세드같을다일은라는 파일을 하면 됩니다.local.properties
Android sdk 경로를 다음과 같이 추가합니다.
sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk
시스템의 다른 안드로이드 프로젝트 local.properties를 복사하여 작동할 리액트 네이티브 프로젝트의 안드로이드 폴더에 붙여넣습니다.
이것은 저에게 효과가 있었습니다.
저는 우데미에 대한 Stephen Grider의 React Native를 수강하고 있으며, 학생 중 한 명이 50강에 이 글을 올렸습니다.명령행에 동사형을 붙여넣었습니다(물론 '$'가 없음).
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
제가 찾을 수 있는 최선의 해결책은 다음과 같습니다.
- 원하는 Android Studio와 SDK를 다운로드하십시오(비록 필요하지 않다고 생각하더라도 apk 파일을 릴리스하고 Android 코드를 수동으로 변경하는 데 필요할 것이라고 저를 믿으십시오).
- File > New > Import, react native 안드로이드 프로젝트가 있는 위치를 가리킵니다.
- 특정 SDK를 다운로드하라는 메시지가 나타나면 다운로드하십시오.Gradle 등을 업데이트하도록 요청할 수 있습니다.필요한 경우 계속 업데이트하십시오.
- 기존 Android SDK가 있고 버전을 알고 있다면 Android 프로젝트의 build.gradle에 있는 해당 버전과 일치하기만 하면 됩니다.
그래들 파일의 모양은 다음과 같습니다.
기계 설정에 모든 것이 잘 되고 Android Studio를 사용하여 프로젝트를 컴파일할 수 있다면 react-native cli build roid 명령을 통해 앱을 빌드하는 것을 막을 수 없습니다.
이 접근 방식을 사용하면 SDK의 문제를 해결할 뿐만 아니라 Android 개발을 위한 기계 설정과 관련된 많은 문제를 해결할 수 있습니다.가져오기는 자동으로 SDK 위치를 찾고 local.properties를 생성합니다.따라서 수동 개입에 대해 걱정할 필요가 없습니다.
Linux 사용자용
당신의 앱은 안드로이드-sdk의 경로를 얻지 못하므로, 만약 당신이 리눅스(우분투)를 사용한다면, 당신은 "local.properties"라는 이름의 파일을 추가하고 앱 폴더 안에 만들어진 안드로이드 폴더 안에 저장해야 합니다.
앱을 실행하려면 local.properties 파일 내부에 아래 줄을 추가해야 합니다. 이는 시스템 내부에 있는 안드로이드-sdk의 경로입니다.
sdk.dir=/opt/android-sdk/
react-native run-message 명령을 저장하고 다시 실행합니다.
OR
터미널을 열 수 있습니다. 입력하십시오.
sudo nano ~/.tgrc
파일 끝에 아래 경로를 붙여넣습니다.
Android 내보내기_HOME="/opt/안드로이드-sdk/"
컴퓨터를 다시 시작하고 그 후에 반응-네이티브 런타임을 다시 실행합니다.
참고:- 설정 경로를 .bashrc 파일에 입력하면 local.properties 파일을 만들 필요도 없습니다.
생성하는 경우 및android studio
프로젝트, 당신은 볼 수 있습니다.local.properties
파일이 프로젝트 루트 디렉토리 내에 생성됩니다.대응 기본 프로젝트를 만들 때 해당 파일은 생성되지 않습니다.따라서 수동으로 생성해야 합니다.그리고 그것에 skddir를 추가해야 합니다.그래서 Android 폴더 안에 (root에) 새 파일을 만들고 sdk 경로를 다음과 같이 놓습니다.sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
기억: 이중으로 단일 \를 제거합니다.위와 같이.
local.properties 파일이 없는 경우 'project/dir' 폴더에 'sdk.dir=/Users/apple/Library/Android/sdk'로 하나만 만들고 해당 위치에 SDK가 있는지 확인합니다.
Mac에서 사용자 지정 확장자를 사용하여 파일을 생성하려면 다음 링크를 참조하십시오.
사용자 지정 확장자(.sas)로 텍스트 편집(mac) 파일을 저장하는 방법은 무엇입니까?
이 문제를 해결하는 두 가지 방법이 있습니다.
안드로이드 스튜디오에서 반응형 안드로이드 프로젝트를 실행하면 반응형 안드로이드 프로젝트에서 local.properties 파일이 자동으로 생성됩니다.
리액트 네이티브 프로젝트로 이동 -> Android
local.properties 파일을 만듭니다.
파일 열기
Android SDK 경로를 아래와 같이 붙여넣기
이름이 lcoal.properties인 파일을 만듭니다.Android/
아래 경로를 붙여넣습니다.
sdk.dir = /Users/jotnosqh/Library/Android/sdk (for linux)
올바른 에뮬레이터와 Android 버전이 설치되어 있는지 확인합니다.그것으로 저는 문제를 해결했습니다.
프로젝트 디렉터리에는 "안드로이드"라는 폴더가 있고 그 안에 local.properties 파일이 있습니다. 파일을 삭제하면 빌드가 성공적으로 실행됩니다.
만약 당신이 mac을 사용하고 있다면, 당신은 당신의 sdk 경로를 내보내야 합니다. 단지 당신의 시스템 이름으로 Macbook을 바꾸고 터미널에 붙여넣기만 하면 됩니다."임시 사용"
Android 내보내기_HOME=/사용자//
MacBook
라이브러리/Android/sdk
두 개의 Gradle 파일이 있습니다. 상위 디렉토리 myapp이 아닌 C:\myapp\android\build.gradle 내의 파일을 변경합니다.
내 경우 25.0.0에 설치된 안드로이드 빌드 도구 버전으로 23.0.1 교체
에뮬레이터에서 앱을 확인하려면 반응 네이티브 실행 안드로이드를 실행합니다.
시스템의 다른 안드로이드 프로젝트 local.properties를 복사하여 작동할 리액트 네이티브 프로젝트의 안드로이드 폴더에 붙여넣습니다.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk
Android Studio 프로젝트에서 Android 폴더를 열기만 하면 됩니다.Android studio에서 필요한 파일(local.properties)을 생성하고 Android를 실행하기 위한 SDK 버전을 다운로드해야 합니다.
언급URL : https://stackoverflow.com/questions/32634352/react-native-android-build-failed-sdk-location-not-found
'programing' 카테고리의 다른 글
사용자 클릭 선택 구성 요소가 있는 동적 탭 (0) | 2023.05.31 |
---|---|
HTML/CSS에서 이미지를 그레이스케일로 변환 (0) | 2023.05.31 |
루비에서 두 Date 개체 사이의 일 수를 어떻게 찾을 수 있습니까? (0) | 2023.05.31 |
인스턴스화 시 VB.NET Dictionary에 값을 삽입하는 방법은 무엇입니까? (0) | 2023.05.31 |
CSS 강제 이미지 크기 조정 및 가로 세로 비율 유지 (0) | 2023.05.31 |