해시 문자열 android-23으로 대상을 찾지 못했습니다.


94

git : //github.com/osmdroid/osmdroid에서 OpenStreetMapView를 빌드하려고하면 다음 오류가 발생합니다.

failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android

이 문제를 어떻게 해결할 수 있습니까? 이와 유사한 이전 질문은 android 23이 설치되지 않았는지 확인하는 것이 좋지만 제 경우에는 그렇습니다.

다음은 관련 정보입니다.

ANDROID_HOME은 D:\Users\myusername\AppData\Local\Android\sdk

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ \ android-23 \, (뿐만 아니라 android-19, android-21, android-22, android-MNC) 디렉토리를 포함합니다.

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "org.osmdroid.example"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 16
        versionName "4.4-SNAPSHOT"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'

    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile 'android.support:compatibility-v4:23+'
    compile project(':osmdroid-android')
    //compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}

targetSdkVersion 및 compileSdkVersion을 22로 변경하려고했습니다. 이로 인해 오류 메시지가 "android-23"대신 "android-22"로 변경됩니다.

SDK 관리자 : 여기에 이미지 설명 입력

답변:


79

제 경우에는 클리어링 카셰가 작동하지 않았습니다.

SDK Manager에서 "show package descriptions" 확인란을 선택하십시오 . 그런 다음 설치하려는 버전 의 "Google API" 도 선택해야합니다 .

그것을 설치하면 괜찮을 것입니다


2
이것은 효과가 있었다. SDK 관리자가 완료된 후 빌드 도구를 다운로드해야했지만 .gradle 폴더를 삭제하거나 캐시를 무효화 할 필요가 없었습니다.
Bill Mote 2016 년

감사합니다! 잘 했어요.
carlodonz


18

에 대한 대답 이 질문에 .

Gradle은 때때로 어리석어지고 캐시를 지우는 것이 내가 찾은 유일한 해결책입니다. 사용자 홈 폴더 아래에 숨겨진 .gradle 폴더가 있으며 체크 아웃 위치가 osmdroid 인 경우 다른 폴더가 있습니다.


3
나는 restarded, 폴더를 삭제하고 여전히 문제를 가지고있다
htafoya

13

Android SDK Manager를 열고 모든 23.xx 버전에 대한 빌드 도구를 설치하여 문제를 해결했습니다.

스크린 샷을 참조하십시오.

여기에 이미지 설명 입력


그게 해냈어! (Mac에서 Deco 사용) 감사합니다!
JeremyF

5

참고 : Android Studio의 버그 일 수 있습니다.

  1. 프로젝트 구조로 이동
  2. 앱 모듈 선택
  3. 첫 번째 탭 "속성"에서 컴파일 SDK 버전을 Google API xx에서 API XX로 변경합니다 (예 : Google API 23 대신 API 23).
  4. 확인을 누릅니다.
  5. 진행중인 프로세스가 완료 될 때까지 기다리십시오. 제 경우에는이 시점에서 오류가 발생하지 않았습니다.

이제 컴파일 된 Sdk 버전을 Google API xx로 되돌립니다.

이것이 작동하지 않으면 :

  1. Google API (API xx 대신 Google API xx)를 사용하여 빌드 도구 버전을 낮 춥니 다 (예 : Google API 23 및 빌드 도구 버전 23.0.1).
  2. 확인을 누르고 진행중인 프로세스가 완료 될 때까지 기다립니다.
  3. 빌드 도구 버전을 변경하기 전의 버전으로 되돌립니다.
  4. 확인을 누릅니다.
  5. 프로세스가 완료 될 때까지 기다리십시오.
  6. 끝난!

3

다음 권장 지침을 따르는 것이 효과가있는 것 같습니다.

힌트 : 다음을 실행하여 SDK 관리자를 엽니 다. / path / to / android / tools / android

다음이 필요합니다. 1. android-23 용 "SDK 플랫폼"2. "Android SDK 플랫폼 도구 (최신) 3."Android SDK 빌드 도구 "(최신)


3

다른 번호와 동일한 문제가 있었는데 이것은 나를 위해 일했습니다.

  1. "메시지보기 열기"라는 텍스트가있는 "Gradle 프로젝트 동기화 실패"상단의 오류 메시지를 클릭합니다.

  2. 왼쪽 하단의 "Message Gradle Sync"창에서 제공된 솔루션 "Install missing ..."을 클릭합니다.

  3. 필요한 경우 1과 2를 반복합니다.

23:08 Gradle 동기화 실패 : C : \ Users \ vik \ AppData \ Local \ Android \ Sdk에서 해시 문자열 'android-26'이있는 대상을 찾지 못했습니다.

왼쪽 하단에 솔루션을 제공하는 Android SDK 왼쪽 하단에 솔루션을 제공하는 Android SDK


귀하의 이미지 링크가 사라지는 경우 추가 정보를 추가하여 링크가 종료 된 후에도 다른 사람들이 답변을 따를 수 있도록하십시오.
Dessus

2

그것은 변경하여 나를 위해 일한 compileSdkVersion24과 targetSdkVersion24과 변화 compilecom.android.support:appcompat-v7:24.1.0


2

이 문제에 대한 두 가지 해결책이 있습니다.

1) 도구-> Android-> SDK 관리자-> SDK 도구 ( '패키지 세부 정보 표시'가 선택되어 있는지 확인)를 통해 관련 Android SDK를 다운로드합니다. 케이스는 Android 6.0 (Marshmallow / API 레벨 21)입니다.

2) 또는 build.gradle파일을 열고 다음 속성을 업데이트하십시오.

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

설치 한 최신 버전의 Android API / 사용하려는 다른 설치 버전 (일반적인 이유로 항상 최신 버전을 사용하는 것이 좋습니다 : 버그 수정 등)

2 단계를 수행하는 경우 앱에서 사용중인 경우 Android 지원 라이브러리 버전을 업데이트하는 것을 기억하는 것도 중요합니다. 이것은 dependencies빌드 파일 의 섹션 에서 찾을 수 있으며 다음과 같습니다.

compile 'com.android.support:appcompat-v7:27.0.2'

( 27.0.2앱에서 사용하려는 API 레벨의 최신 지원 라이브러리 버전으로 교체 )



1

나를 위해 일한 것이 없습니다. SDK 경로를 새 SDK 위치로 변경하고 SDK를 다시 설치했는데 완벽하게 작동합니다.


1

도구> Android> SDK 관리자.

여기에 이미지 설명 입력


나는 일반적으로 간결한 대답의 팬이 아니지만 이것은 아름답게 이루어집니다. 나를 위해 모든 것을 해결했습니다.
Le Mot Juiced

감사합니다, @LeMotJuiced.
CoolMind

1

Windows를 사용할 때이 문제가 발생했습니다. 내 프로필의 SDK 위치가 문제인 것으로 밝혀졌습니다. 그래서 SDK 폴더를 문서로 재배치해야했는데 제대로 작동했습니다.


1

내 폴더에서 26 개 폴더를 찾았지만 26 개가 아닌 폴더를 찾았습니다. 그래서 내 build.gradle 파일을 수정하여 26을 27로 바 꾸었습니다. compileSdkVersion, targetSdkVersion 및 implementation (이 숫자를 v : 7로 변경) : 27.02). 그것은 내 오류 메시지를 변경했습니다. 그런 다음 compileSdkVersion 바로 아래의 android 브래킷 섹션에 buildToolsVersion "27.0.3"을 추가했습니다.

이제 프로젝트 만들기 버튼이 0 개의 메시지로 작동합니다.

다음으로, 이것을 실행할 수 있도록 구성에서 모듈을 실제로 선택하는 방법입니다.


1

저에게 문제는 23 대신 compileSdkVersion '23'을 썼다는 것입니다. 따옴표가 문제였습니다.


1

빌드 콘솔에 지정된 링크에서 특정 Android 릴리스를 다운로드하십시오.


1

이 poblem은 이후 나를 위해 해결Run as administratorAndorid Studio


0

이 문제는 실행중인 코드가 이전 API 수준에서 생성되었으며 현재 SDK 관리자가 실행을 지원하지 않기 때문에 발생합니다. 따라서 다음을 시도하십시오. 1. API 레벨 23을 지원하는 SDK Manager를 설치합니다.> SDK Manager,> Android SDK로 이동 한 다음 API 23을 선택하고 설치합니다. 2. 두 번째 대안은 build.grade 앱 모듈을 업데이트하여 compileSdkVersion, compile 및 기타 숫자를 현재 지원되는 API 수준으로 변경하는 것입니다.

참고 : API 및 개정 번호를 확인하고 정확하게 변경하십시오. 그렇지 않으면 프로젝트가 동기화되지 않습니다.


0

IDE가 패키지가 있음을 인식하는지 확인하십시오. 28을 다운로드 한 후에도 내 위에 있지 않았기 때문에 SDK에 대한 선택으로 File-Project Structure-Modules-App 아래에 표시되지 않는다는 것을 깨닫고 제거했다가 다시 설치했습니다.

또한 빌드 경로를 일치하도록 변경할 수 있습니다.

약간 관련이 있지만 최신 업데이트는 Google Play의 새로운 API 26 분 요구 사항뿐만 아니라 CompileSDK에 대해 28까지 업데이트를 강제했을 때 컴파일 할 수있는 것 같습니다. 이것은 종속성과 관련이 있으며 귀하에게 영향을 미치지 않을 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.