Android 명령줄 도구 sdkmanager에 항상 표시됨: 경고: 설정을 만들 수 없음
Android의 오래된 sdk-tools 저장소를 더 이상 사용할 수 없기 때문에 Android용 새로운 명령줄 도구를 사용합니다.그래서 저는 gitlab-ci를 로드하기 위해 변경했습니다.commandlintools
그러나 실행하려고 하면 다음 오류가 발생합니다.
Warning: Could not create settings
java.lang.IllegalArgumentException
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
저는 이미 그 명령어들을 손으로 실행하려고 시도했지만 같은 오류가 발생합니다.가 또한내뛰면가,뛰면▁i▁run가를 실행하면,sdkmanager --version
동일한 오류가 발생합니다.과 같습니다
image: openjdk:9-jdk
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -d android-sdk-linux android-sdk.zip
- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
#- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
- echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
- chmod +x ./gradlew
# temporarily disable checking for EPIPE error and use yes to accept all licenses
- set +o pipefail
- yes | android-sdk-linux/tools/bin/sdkmanager --licenses
- set -o pipefail
stages:
- build
- test
lintDebug:
stage: build
script:
- ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
assembleDebug:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
debugTests:
stage: test
script:
- ./gradlew -Pci --console=plain :app:testDebug
에 논을통키는대신에시과쟁대▁instead에.--sdk_root
각 명령 실행에 대해 실제 원인에 대해 자세히 살펴보겠습니다.
Android SDK 명령줄 도구 1.0.0(6200805)에서 시작하여 Android SDK 26.1.1(4333796)과 대조적으로tools
디렉터리 계층이 변경되었습니다.이전에는 바로 안쪽에 배치되었습니다.ANDROID_HOME
(이는 더 이상 사용되지 않습니다, 우리는 용어를 사용할 것입니다.ANDROID_SDK_ROOT
나머지 단락에 대해), 이제는 여전히 다음과 같은 이름이 붙습니다.tools
(다운로드된 명령줄 도구 zip 파일의 압축을 푼 후에 얻을 수 있는 유일한 것), 그러나 다른 방식으로, 당신은 그것을 다음과 같은 디렉토리 안에 배치해야 합니다.cmdline-tools
혼자 힘으로그 이름은cmdline-tools
이름에서 것으로, 명령 얻을 수 .sdkmanager --list
다음을 포함하는 산출물의 소유자.cmdline-tools;1.0 | 1.0 | Android SDK Command-line Tools
.
장포tools
내부의 cmdline-tools
디렉토리는 그것을 작동하게 하고, 당신이 성가신 것을 제거하는 데 도움을 줄 것입니다.--sdk_root
다른 하지만 다른 부분들은 어떻습니까?
그게 당신이 바꿔야 할 전부입니다.제가 좀 더 설명해 드릴게요.
- 은 - 왕은......
sdkmanager
안에 .cmdline-tools/tools/bin
에 들어가는 것이 좋습니다.PATH
변수 cmdline-tools
를 로 설 해 안 됩 니 다는정으로 하면 안 됩니다.ANDROID_SDK_ROOT
SDK를 더 패키지를 할 때 가 Android SDK 아래에 되기 때문입니다.ANDROID_SDK_ROOT
하지만 그 이하는 아닙니다.cmdline-tools
.- 한 종최료, 완료▁the.
ANDROID_SDK_ROOT
몇디렉터리로 : 디터리구아조같하꽤며많하구있디다습니성어되로리렉.build-tools
,cmdline-tools
,emulator
,licenses
,patcher
,platform-tools
,platforms
,system-images
당신은 쉽게 지적할 수 있습니다.build-tools
그리고.cmdline-tools
부모님 . 모두 부모님 안에 있습니다.ANDROID_SDK_ROOT
.
간단한 방법으로 요약하겠습니다.
- 설정을 설정합니다.
ANDROID_SDK_ROOT
(과동일전동)전 - 명령줄 도구 zip 파일을 다운로드하여 다음 디렉토리에 압축을 풉니다.
cmdline-tools
은 있는에안 안에 .ANDROID_SDK_ROOT
-
$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
에 대하여PATH
를 알 수도 수 템 있 알 지 찾 을sdkmanager
!!업데이트!!
빌드 이후 동작이 다시 변경되었습니다.6858069
SDK 3Android SDK 3.0):
- 을 푼 후에됩니다.
cmdline-tools
. - 해제된 디렉토리의 이름을 변이해디름경다니합에서 합니다.
cmdline-tools
tools
그리고 그것을 아래에 놓습니다.$ANDROID_SDK_ROOT/cmdline-tools
그래서 이제는 다음과 같이 보여야 합니다.$ANDROID_SDK_ROOT/cmdline-tools/tools
그 것들 합니다.NOTICE.txt bin lib source.properties
사실 공식 명령줄 도구 문서에 따르면 트리 구조는 다음과 같아야 합니다.android_sdk/cmdline-tools/version/bin/
하지만 제가 확인한 바로는,version
또는tools
여기서 차이가 없습니다. - 에 대한 변수
PATH
이 다음과 설정하는 합니다.PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
나중에 업데이트하면 최신 정보를 얻을 수 있기 때문입니다.sdkmanager
아래있는의 아래에 .$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
앞에 놓으면 우선순위가 높아집니다.
이는 sdkmanager가 SDK 설치 폴더를 찾는 방법에 대한 버그로 나타납니다.
해결 방법은 플래그를 설정하는 것입니다.--sdk_root
ANDROID_Android_Android_Android_Android를할 수 있습니다.HOME 선언을 더 높게 한 다음 후속 명령과 함께 사용합니다.
- export ANDROID_HOME=$PWD/android-sdk-linux
- yes | android-sdk-linux/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} --licenses
- android-sdk-linux/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
license 를 첫 하여 blaid license acceptance 명령어를 echo y
부품, 부품
이상하게도 네가 도망친다면,sdkmanager --sdk_root=${ANDROID_HOME} "tools"
도구를 3.6.0에서 26.1.1로 업그레이드하며 sdkmanager는 더 이상 이 문제가 없습니다.이 업데이트는 시간과 대역폭이 소요되며 해결 방법에 꼭 필요한 것은 아닙니다.
Windows 10/x64에서 Android 명령줄 도구 for Appium을 설치하는 데 어려움을 겪으신 분들은 다음과 같이 하십시오.
- Android에서 최신 명령줄 도구(예: 명령줄 도구-win-6200805_latest)를 다운로드합니다.지퍼
- 다운로드한 파일 압축 풀기
- 다음 경로를 포함하여 디스크 어딘가에 명령줄 도구를 저장하기 위한 디렉토리 생성: Android/cmdline-tools/latest 기본적으로 이 Cmdline 도구의 압축을 풀 때 도구 디렉토리의 이름을 최신으로 변경하고 이 최신 폴더를 디스크 어딘가에 있는 Android/cmdline-tools 디렉토리에 넣으십시오.
- Android 생성_cmdline tools 디렉토리 위치를 저장하는 디렉토리의 HOME 환경 변수는 다음과 같습니다.C:\사용자 위치저장할 위치디렉터리\android\cmdline-tools\latest
- 경로 환경 변수에 %ANDROID_로 새 항목 생성HOME%\bin
그sdkmanager
다음과 같은 환경 변수를 사용하지 않고 포장을 푼 위치를 기반으로 안드로이드-스파이웨어 경로를 파악하려고 합니다.ANDROID_SDK_ROOT
하지만 점점 더 나빠지고 있어요, 왜냐하면 그것은 하드 코딩된 부모 폴더를 가지고 있기 때문입니다.cmdline-tools
그리고 다른 이름을 가진 폴더 내의 명령줄 도구의 압축을 풀면 작동하지 않으므로 매개 변수를 사용해야 합니다.sdk_root
내부 변수를 올바르게 입력합니다.
따라서 이를 염두에 두고 다음과 같은 접근 방식을 사용하여 이 문제를 해결할 수 있습니다.
Ubuntu OS를 사용하고 있다고 가정할 것이므로 사용하지 않을 경우 해당 지침 중 일부를 수정해야 합니다.
Android-SDK를 설치합니다.
sudo apt install android-sdk
설치 후 /usr/lib에 rodroid-sdk라는 폴더가 나타납니다.
Android-sdk 폴더 내에 cdmline-tools라는 폴더 만들기
sudo mkdir /usr/lib/android-sdk/cmdline-tools
여기에서 Android 명령줄 도구 zip을 다운로드하십시오(https://developer.android.com/studio?hl=en-419#downloads)
방금 다운로드한 파일의 압축을 /usr/lib/android-sdk/cmdline-tools에서 풉니다.
sudo unzip /path/for/commandlinetools-linux-6200805_latest.zip -d /usr/lib/android-sdk/cmdline-tools
home dir로 이동하여 .profile을 편집합니다.
nano .profile
Android_SDK_ROOT 변수 생성
export ANDROID_SDK_ROOT=/usr/lib/android-sdk
sdkmanager 폴더를 경로에 배치합니다.
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$PATH
저장 및 종료
프로필 다시 로드
. ~/.profile
달려.
sdkmanager --version
단말기에 인쇄된 버전이 표시됩니다.
Android Developer 웹 사이트에서 새 cmdline-tools를 다운로드하려면 다음 디렉터리 구조를 준수해야 합니다.
간단한 솔루션:
- Android Studio Tools 메뉴를 엽니다.
- SDK 관리자 창에 내부 패널이 표시됩니다.
- SDK 도구 선택 패널 Android SDK 명령줄 도구 선택
- 창 하단 근처의 Apply(적용) 버튼을 선택합니다.
리징과 caller9의 응답을 혼합하여, 다음은 제 대본입니다.
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get update --yes
- apt-get install --yes wget tar unzip lib32stdc++6 lib32z1
- export ANDROID_HOME=${PWD}android-home
- install -d $ANDROID_HOME
- wget --output-document=$ANDROID_HOME/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- pushd $ANDROID_HOME
- unzip -d cmdline-tools cmdline-tools.zip
- popd
- export PATH=$PATH:${ANDROID_HOME}/cmdline-tools/tools/bin/
- sdkmanager --version
- set +o pipefail
- yes | sdkmanager --sdk_root=${ANDROID_HOME} --licenses
- set -o pipefail
- sdkmanager --sdk_root=${ANDROID_HOME} "platforms;android-${ANDROID_COMPILE_SDK}"
- sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools"
- sdkmanager --sdk_root=${ANDROID_HOME} "build-tools;${ANDROID_BUILD_TOOLS}"
- export PATH=$PATH:${ANDROID_HOME}/platform-tools/
- chmod +x ./gradlew
[...]
다음 단계에 따라 최신 명령줄 도구를 사용할 수 있는 솔루션을 찾았습니다.
- 과 같은예: 1 - 명줄도다구폴의더추: 예:$HOME/Development/android/cmdline-tools/latest
(이 폴더에는 lib, bin, notice가 포함되어야 합니다.txt 및 source.properties)
2 - Android 정의_환경 변수로서의 HOME:
ANDROID_HOME="$HOME/Development/android/cmdline-tools/latest"
3 - PATH에 로드:
PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/lib:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools"
같은 문제가 있었습니다. 구글이 여기에 왔습니다.Android Studio Archive에 따르면 오늘이 4.1 릴리스였습니다.그건 우연이 아닌 것 같아요.
전혀 관련이 없는 이 가이드에는 이전 버전의 Linux용 sdk-tools에 대한 하드 링크가 있습니다.URL을 다른 OS의 windows 또는 mac으로 변경할 수 있습니다.저는 그것을 핫픽스로 사용하겠습니다.
(그것은 해결책이 아닌 논평이어야 했습니다)
몇 한 게시물을 토막글을 , , 여에몇가유한게을요약하고물시, 들플을위스사위해을을들람원한하는니펫한단예간를러기어인그지용▁summar▁in▁a▁here▁wantingetizing,,▁a위해▁quick▁posts▁to▁plug.Dockerfile
다음 스크립트가 제게 효과가 있습니다.
RUN mkdir -p /opt/android/cmdline-tools/latest \
&& cd /opt/android/cmdline-tools/latest \
&& wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip \
&& bsdtar --strip-components=1 -xvf commandlinetools-linux-6858069_latest.zip \
&& yes | bin/sdkmanager --licenses \
&& bin/sdkmanager "build-tools;29.0.2" "platforms;android-29" \
&& rm commandlinetools-linux-6858069_latest.zip
그것은 단지 필요합니다.bsdtar
설치해야 합니다(일반적으로 일반적으로 널리 배포되는 패키지). 플랫폼가 Android 플빌랫가/드도 29고 Android sdk루에 합니다./opt/android
설치하거나 할 때 합니다. 하여 sdk에 가짜 합니다. 이미 있는 패키지와 충돌하여 sdk 루트에 가짜 디렉터리를 만듭니다.-2
,-3
접미사그런 다음 이러한 디렉터리는 무시되고 다음과 같은 경고가 표시됩니다.Observed package id 'emulator' in inconsistent location
인쇄되므로 이 동작은 절대 바람직하지 않습니다.수정 사항이 있으면 댓글에 적어주시거나, 자신이 있다면 정확한 수정 사항으로 스크립트를 편집해주시기 바랍니다.
방금 IDE로 이 문제를 해결했습니다. 제가 보기에는 꽤 간단해 보입니다. (사실 이 중복된 이전 답변은 사진과 함께였습니다.)sdk 툴만 설치하면 모든 것이 작동할 것입니다.
저도 같은 오류가 발생했습니다.모든 해결책을 다 해본 결과, 저는 그것을 고칠 수가 없었어요.저는 https://forum.unity.com/threads/android-build-not-working.844969/ 을 읽고 이 문제를 해결했습니다.
답변 간소화:
오닝프
sdkmanager.bat
메모로으 +장이 줄 변경하기
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
로.
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS% --sdk_root=%ANDROID_HOME%
(참추: 가고추)--sdk_root=%ANDROID_HOME%
저는 제 경험을 공유하고 싶습니다.
처음에 저는 디렉토리 구조가 왜 이 답변에 나와 있는 방식으로 보여야 하는지 설명하려고 노력합니다. https://stackoverflow.com/users/668455/tristan . https://stackoverflow.com/a/60460681/1758733 은 여러 번 설명을 요청했으므로 다음 실험으로 상황을 명확하게 설명하기를 바랍니다.
1. unpack cmdline-tools to any path, for example c:\Android\tools;
2. create a folder for SDK, let it be c:\Android\SDK;
3. install cmdline-tools (yes, we install cmdline-tools again =)):
c:\Android\tools\bin\sdkmanager --sdk_root=c:\Android\SDK "cmdline-tools;latest"
4. at this moment we can examine c:\Android\SDK and locate
the path c:\Android\SDK\cmdline-tools\latest. If we compare
this folder with the previous version c:\Android\tools we find out
that they are identical. The new installed c:\Android\SDK\cmdline-tools\latest\sdkmanager works
without --sdk_root argument so we could initially unpack cmdline-tools
to cmdline-tools\latest.
".android/resposities.cfg를 로드할 수 없습니다."라는 다른 문제가 발생할 수 있습니다.
기타 문제 및 사실:
1. QtCreator works with another sdkmanager that placed in SDK_ROOT/tools/bin
2. SDK_ROOT/tools/bin/sdkmanager works only with JDK 8
3. Java uses its own storage for certificates and it's not convinient usually.
Thus one may want to use Windows certificate store. Unfortunately Grandle has the
issue - https://stackoverflow.com/a/59056537 - so use the following:
set JAVA_OPTS=-Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL
Qt를 사용하여 다음과 같은 개발 방법을 구성할 수 있습니다.
1. download commandlinetools-win-6200805_latest.zip
2. extract cmdline-tools so there will be hierarchy
SDKROOT
- cmdline-tools
- latest
- bin
- sdkmanager.bat
- ...
- lib
- ...
3. install JDK 8. set JAVA_HOME=c:\path\to\java so that %JAVA_HOME%/bin/java.exe exists.
4. set JAVA_OPTS=-Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL
5. NDK may be downloaded manually or installed with sdkmanager
6. install required components:
SDKROOT\cmdline-tools\latest\bin\sdkmanager "tools" "build-tools;BUILD_TOOLS_VERSION" "platform-tools" "platforms;ANDROID_VERSION"
7. run qtcreator from console so JAVA_OPTS is taken into account (or set it globaly for windows user or even station)
8. tools -> options -> devices set paths to JDK 8, SDKROOT and NDK
독립 실행형 명령줄 도구를 다운로드할 때 이 문제가 발생했습니다(commandlinetools-mac-6200805_latest
를) 참조하십시오.
여기 있는 모든 답을 바탕으로 이렇게 할 수 있었습니다.
# Define ANDROID_HOME, if not defined already
export ANDROID_HOME="~/Library/Android/sdk"
# Create the folder if missing
mkdir -p $ANDROID_HOME
# Let the tool know that it should use that SDK location.
sdkmanager --list --sdk_root=$ANDROID_HOME
입니다.--sdk_root
옵션은 "이 도구가 포함된 SDK 대신 지정된 SDK 루트를 사용하십시오."라고 말합니다.이를 통해 독립적으로 배송됨에도 불구하고 툴이 SDK가 설치된 번들의 일부가 될 것으로 예상한다는 생각이 들었습니다.
Android SDK 도구는 이제 다음 위치에 있습니다. "안드로이드_sdk/cmdline-tools/version/bin/"
따라서 Windows에서 이 문제를 해결하려면(다른 OS에서도 동일하게 복제할 수 있음) 다음을 수행합니다.
의 용자내 에.
android_sdk
만들고 폴더를 .cmdline-tools
그 에 다른 그고그안다폴만듭다니더를른에리:다.version
/sources" 을 이 파일 "/bin /lib NOTICE and sources.properties" 에 추출.version
폴더를 누릅니다.트
ANDROID_HOME
의 신에게에.android_sdk
폴더를 누릅니다.- 경로에 : 시스추가에:
android_sdk\cmdlineAndroidSDK\cmdline-tools\version\bin\
마찬가지로 Android SDK Platform Tools를 내부에 배치합니다.android_sdk/platform-tools/
에 상응하는 및 해 추 다 합 니 가 항 목 당 ▁cor 다 니 ▁and ▁add 합 가PATH
ENVIRONMENTAL VARIABLES
System Variables
@Jing Li의 업데이트된 제안을 기반으로 합니다.여기 제 버전의 gitlab-ci.yml이 있습니다.
image: openjdk:8-jdk
variables:
ANDROID_COMPILE_SDK: "30"
ANDROID_BUILD_TOOLS: "29.0.2"
ANDROID_COMMAND_LINE_TOOLS: "6858069"
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
before_script:
- export GRADLE_USER_HOME=$(pwd)/.gradle
- chmod +x ./gradlew
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- mkdir -p android-sdk-linux/cmdline-tools
- export ANDROID_SDK_ROOT=$PWD/android-sdk-linux
- cd android-sdk-linux/cmdline-tools
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_COMMAND_LINE_TOOLS}_latest.zip
- unzip android-sdk.zip
- rm android-sdk.zip
- mv cmdline-tools version
- echo y | version/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
- echo y | version/bin/sdkmanager "platform-tools" >/dev/null
- echo y | version/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
- export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
# temporarily disable checking for EPIPE error and use yes to accept all licenses
- set +o pipefail
- yes | version/bin/sdkmanager --licenses
- set -o pipefail
- cd ../../
- chmod +x ./gradlew
cache:
key: ${CI_PROJECT_ID}
paths:
- .gradle/
Unity 2018 문서의 이 페이지에는 다음과 같은 사항을 포함하여 이 문제를 해결하는 방법도 설명되어 있습니다.
- Android Studio 없이 Android SDK 설치
- "경고: 설정을 만들 수 없음" 및 "java.lang"에 대한 해결 방법입니다.잘못된 인수예외"
- Android Studio 버전 3.6 이상을 위한 요령입니다.
- Java 9 이상에 대해 경고합니다. JDK는 버전 8이어야 합니다.
https://docs.unity3d.com/2018.4/Documentation/Manual/android-sdksetup.html
새 업데이트 이후 설명서에 언급되지 않은 몇 가지 변경 사항이 있습니다.명령줄 도구 패키지의 압축을 푼 후 최상위 디렉터리는 cmdline-tools입니다.압축 해제된 디렉토리의 이름을 cmdline-tools에서 도구로 변경하고 $C:/Android/cmdline-tools 아래에 배치합니다.
이제 $C:/Android/cmdline-tools/tools처럼 보입니다.
완벽하게 작동할 겁니다
SDK(Anymethod) 설치의 첫 번째 요건은 Java 설치 및 JAVA 설정입니다.홈 경로.
다음 SDK 를 사용하지 않는 합니다.예외.
"--sdk_root" "--sdk_root"을 하여 SDK를 하십시오.
예: sdkmanager.bat "platform-tools" "sdk;sdk-" --sdk_root=
Linux를 사용하는 동시에 복잡한 해결 방법을 사용하지 않으려면 sdkmanager의 Snap 버전을 다운로드하여 사용하는 것이 좋습니다.
사해야함을 사용하는 것을 하세요.androidsdk
에 sdkmanager
Android Studio를 사용한 Ubuntu용 작업 솔루션 Linux와 같은 Ubuntu 및 Debian의 작업 절차는 다음과 같습니다.
- 웹 사이트 https://developer.android.com/studio/install 에 설명된 대로 Android 스튜디오를 설치합니다.
- 실행:
flutter config --android-studio-dir <location of android studio>
그리고나서flutter config --android-sdk /home/user/Android/Sdk
SDK 참조) - 을 PATH에 합니다.
PATH=$PATH:/home/user/Android/Sdk/tools/bin/
- 다음 실행합니다.
flutter doctor --android-licenses
모든 합니다. 합니다. 모든 것이 정상인지 확인하려면 다음과 같이 verbos 모드로 의사를 실행합니다.flutter doctor -v
여기에 매우 기본적이고 간단한 솔루션이 있습니다. 폴더 구조를 최신 폴더로 변경한 다음 cmdline-tools라는 폴더를 만든 다음 cmdline-tools라는 이름의 폴더를 cmdline 내부에 생성하고 bin 및 기타 데이터를 tools 폴더 안에 넣으면 이 사용자\latest\cmdline-tools\tools처럼 보입니다.
검색을 많이 해봤지만 효과가 있었습니다.
2023년 3월 7일 현재 SDK 관리자는 다음과 같이 말합니다.lib 디렉토리, bin 디렉토리, NOTE.txt 파일 및 source.properties 파일을 포함한 원래 cmdline-tools 디렉토리 내용을 새로 생성된 최신 디렉토리로 이동합니다.이제 이 위치에서 명령줄 도구를 사용할 수 있습니다.
Android Studio는 앱을 개발할 때 사용하는 편집기가 아니더라도 명령줄 도구를 설치할 때 필요합니다.오래된 패키지 탭의 선택을 취소하고 도구를 다운로드하면 라이센스 문제가 해결되고 즐겨찾는 IDE(예: VS Code)로 돌아갈 수 있습니다.
언급URL : https://stackoverflow.com/questions/60440509/android-command-line-tools-sdkmanager-always-shows-warning-could-not-create-se
'programing' 카테고리의 다른 글
CSS를 사용하여 사용자 지정 글꼴을 사용하시겠습니까? (0) | 2023.08.24 |
---|---|
노드에서 setTimeout은 어떻게 작동합니까?JS? (0) | 2023.08.24 |
MySQL PHP - SELECT WHERE ID = array()? (0) | 2023.08.24 |
CSS 파일에 @charset "UTF-8"을 지정하는 이유는 무엇입니까? (0) | 2023.08.24 |
클래스 전환을 위한 Angular ngClass 및 클릭 이벤트 (0) | 2023.08.24 |