programing

Android 명령줄 도구 sdkmanager에 항상 표시됨: 경고: 설정을 만들 수 없음

magicmemo 2023. 8. 24. 21:57
반응형

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_ROOTSDK를 더 패키지를 할 때 가 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-toolstools그리고 그것을 아래에 놓습니다.$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_rootANDROID_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을 설치하는 데 어려움을 겪으신 분들은 다음과 같이 하십시오.

  1. Android에서 최신 명령줄 도구(예: 명령줄 도구-win-6200805_latest)를 다운로드합니다.지퍼
  2. 다운로드한 파일 압축 풀기
  3. 다음 경로를 포함하여 디스크 어딘가에 명령줄 도구를 저장하기 위한 디렉토리 생성: Android/cmdline-tools/latest 기본적으로 이 Cmdline 도구의 압축을 풀 때 도구 디렉토리의 이름최신으로 변경하고 최신 폴더를 디스크 어딘가에 있는 Android/cmdline-tools 디렉토리에 넣으십시오.
  4. Android 생성_cmdline tools 디렉토리 위치를 저장하는 디렉토리의 HOME 환경 변수는 다음과 같습니다.C:\사용자 위치저장할 위치디렉터리\android\cmdline-tools\latest
  5. 경로 환경 변수에 %ANDROID_로 새 항목 생성HOME%\bin

sdkmanager다음과 같은 환경 변수를 사용하지 않고 포장을 푼 위치를 기반으로 안드로이드-스파이웨어 경로를 파악하려고 합니다.ANDROID_SDK_ROOT하지만 점점 더 나빠지고 있어요, 왜냐하면 그것은 하드 코딩된 부모 폴더를 가지고 있기 때문입니다.cmdline-tools그리고 다른 이름을 가진 폴더 내의 명령줄 도구의 압축을 풀면 작동하지 않으므로 매개 변수를 사용해야 합니다.sdk_root내부 변수를 올바르게 입력합니다.

따라서 이를 염두에 두고 다음과 같은 접근 방식을 사용하여 이 문제를 해결할 수 있습니다.

Ubuntu OS를 사용하고 있다고 가정할 것이므로 사용하지 않을 경우 해당 지침 중 일부를 수정해야 합니다.

  1. Android-SDK를 설치합니다.

     sudo apt install android-sdk
    

    설치 후 /usr/lib에 rodroid-sdk라는 폴더가 나타납니다.

  2. Android-sdk 폴더 내에 cdmline-tools라는 폴더 만들기

     sudo mkdir /usr/lib/android-sdk/cmdline-tools
    
  3. 여기에서 Android 명령줄 도구 zip을 다운로드하십시오(https://developer.android.com/studio?hl=en-419#downloads)

  4. 방금 다운로드한 파일의 압축을 /usr/lib/android-sdk/cmdline-tools에서 풉니다.

     sudo unzip /path/for/commandlinetools-linux-6200805_latest.zip -d /usr/lib/android-sdk/cmdline-tools
    
  5. home dir로 이동하여 .profile을 편집합니다.

     nano .profile
    
  6. Android_SDK_ROOT 변수 생성

     export ANDROID_SDK_ROOT=/usr/lib/android-sdk
    
  7. sdkmanager 폴더를 경로에 배치합니다.

     export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$PATH
    
  8. 저장 및 종료

  9. 프로필 다시 로드

     . ~/.profile
    
  10. 달려.

    sdkmanager --version
    

단말기에 인쇄된 버전이 표시됩니다.

Android Developer 웹 사이트에서 새 cmdline-tools를 다운로드하려면 다음 디렉터리 구조를 준수해야 합니다.

간단한 솔루션:

  1. Android Studio Tools 메뉴를 엽니다.
  2. SDK 관리자 창에 내부 패널이 표시됩니다.
  3. SDK 도구 선택 패널 Android SDK 명령줄 도구 선택
  4. 창 하단 근처의 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포함되어야 합니다.txtsource.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 툴만 설치하면 모든 것이 작동할 것입니다.

enter image description here

저도 같은 오류가 발생했습니다.모든 해결책을 다 해본 결과, 저는 그것을 고칠 수가 없었어요.저는 https://forum.unity.com/threads/android-build-not-working.844969/ 을 읽고 이 문제를 해결했습니다.

답변 간소화:

  1. 오닝프sdkmanager.bat메모로으 +장

  2. 이 줄 변경하기

    "%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에서도 동일하게 복제할 수 있음) 다음을 수행합니다.

  1. 의 용자내 에.android_sdk만들고 폴더를 .cmdline-tools 그 에 다른 그고그안다폴만듭다니더를른에리:다.version /sources" 을 이 파일 "/bin /lib NOTICE and sources.properties" 에 추출.version폴더를 누릅니다.

  2. ANDROID_HOME의 신에게에.android_sdk폴더를 누릅니다.

  3. 경로에 : 시스추가에:android_sdk\cmdlineAndroidSDK\cmdline-tools\version\bin\

마찬가지로 Android SDK Platform Tools를 내부에 배치합니다.android_sdk/platform-tools/에 상응하는 및 해 추 다 합 니 가 항 목 당 ▁cor 다 니 ▁and ▁add 합 가PATHENVIRONMENTAL VARIABLESSystem 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 문서의 이 페이지에는 다음과 같은 사항을 포함하여 이 문제를 해결하는 방법도 설명되어 있습니다.

  1. Android Studio 없이 Android SDK 설치
  2. "경고: 설정을 만들 수 없음" 및 "java.lang"에 대한 해결 방법입니다.잘못된 인수예외"
  3. Android Studio 버전 3.6 이상을 위한 요령입니다.
  4. 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 버전을 다운로드하여 사용하는 것이 좋습니다.

사해야함을 사용하는 것을 하세요.androidsdksdkmanager

Android Studio를 사용한 Ubuntu용 작업 솔루션 Linux와 같은 Ubuntu 및 Debian의 작업 절차는 다음과 같습니다.

  1. 사이트 https://developer.android.com/studio/install 에 설명된 대로 Android 스튜디오를 설치합니다.
  2. 실행:flutter config --android-studio-dir <location of android studio>그리고나서flutter config --android-sdk /home/user/Android/SdkSDK 참조)
  3. 을 PATH에 합니다.PATH=$PATH:/home/user/Android/Sdk/tools/bin/
  4. 다음 실행합니다.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

반응형