[android] 해시 문자열 ‘android-25’로 대상을 찾지 못했습니다.

Android Studio 2.2가 있습니다. 프로젝트를 열려고하는데 “Failed to find target with hash string ‘android-25′”라는 오류가 발생합니다. 오류 메시지 아래에 “누락 된 플랫폼 설치 및 프로젝트 동기화”링크가 표시됩니다. 이 링크를 클릭하면 다른 오류가 발생합니다.

“다음 패키지는 사용할 수 없습니다 :-패키지 ID 플랫폼; android-25”.

Android SDK 도구에서 “Android 7.0″(API 레벨 24)이 이미 설치된 것을 볼 수 있습니다. Android 버전 및 API 수준에 대한 세부 정보를 확인한 결과 Android Nougat의 API 수준은 24-25임을 알았습니다. API24에서 25로 SDK를 업데이트하는 방법을 알고 싶습니다.



답변

아무것도 업데이트 할 필요가 없습니다. Android SDK Manager에서 또는 Android 독립 실행 형 SDK 관리자를 실행하여 API 25 용 SDK를 다운로드하면됩니다. 이 오류는 누락 된 도구가 아닌 플랫폼 누락에 대한 것입니다.Android SDK 관리자 Android Studio 2.2.2


답변

글쎄, 나는이 문제로 고통 받고 있었지만 마침내 해결책을 찾았습니다.

여기서 시작되는 문제 : [ “누락 된 플랫폼 설치 및 프로젝트 동기화”(링크)가 작동하지 않음 및 gradle 동기화 실패]

문제 출처 :를 확인 app -> src-build.gradle하면 매개 변수를 찾을 수 있습니다.

  1. compileSdkVersion 25

  2. buildToolsVersion "25.0.1"

  3. targetSdkVersion 25

참고 : 이러한 매개 변수는 다른 값으로 찾을 수 있습니다
.compileSdkVersion 23 등)으로 .

위의 매개 변수는 build.gradle값이 현재 SDK 버전과 호환되지 않기 때문에 오류 를 생성합니다.

이 오류에 대한 해결책은 간단합니다. Android Studio에서 새 프로젝트를 열고 새 프로젝트에서 goto app -> src-build.gradle . .

build.gradle 새 프로젝트의 파일이 매개 변수를 찾을 수 있습니다 :

여기에 이미지 설명 입력

제 경우에는 다음과 같습니다.

compileSdkVersion "26"
buildToolsVersion "26.0.1"
targetSdkVersion 26

이제 새 프로젝트 build.gradle파일 에서 이러한 매개 변수를 복사 하여 다른 프로젝트의 동일한 파일에 게시합니다 (오류 있음).


답변

비슷한 문제가 있습니다

1 : 위의 정답으로 해결하려고했지만 끝내주는 시스템 설정을 얻지 못했습니다 (MacBook에서).

대부분의 경우 이러한 오류 및 문제는 gradel이 제대로 동기화되지 않고 프로젝트를 빌드하는 동안 문제가 발생하기 때문에 등급 파일을 다른 등급 파일로 교체하기 때문에 발생합니다. 이 문제는 기본적으로 플랫폼 도구의 비 동기화와 관련이 있습니다.

해결 방법 a : 파일로 이동 한 다음 프로젝트 strucutre -modules -app-Properties-빌드 도구 버전-프로젝트에 필요한 옵션을 클릭합니다 (필요한 경우 빌드 도구 버전이 다른 것을 선택하지 않음). 그러면 등급 파일이 동기화되고 이제 gradel로 이동하여 요구 사항에 따라 대상 버전 및 빌드 도구 버전을 변경할 수 있습니다. 동기화에 필요한 플랫폼 도구를 다운로드하라는 메시지가 표시됩니다. 이제 도구 버전 설치를 클릭하고 프로젝트를 빌드하도록합니다.

해결 방법 b : 시스템 설정 옵션을 얻고 플랫폼 도구를 설치할 수 있으면 Anuja Ans를 사용해보십시오.


답변

설치 디렉토리로 이동하여 SDK 독립 실행 형을 열 수 있습니다. SDK Manager.exe를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 클릭하십시오. 도움이 되길 바랍니다.


답변

기본 gradle 버전 3.3에는 몇 가지 버그가있을 수 있으며 gradle 3.5로 전환했으며 모든 것이 정상입니다.


답변

Android-28에서 동일한 오류가 발생했습니다. SDK 관리자-SDK 플랫폼에서 Android API 28이 부분적으로 설치되었으며 더 이상 사용할 수없는 업데이트가 있음을 보여줍니다. 그래서 SDK 도구 에서 ANDROID-SDK-BUILD-TOOLS 를 업데이트 하고 프로젝트를 다시 시작한 후에. 작동합니다. 이것은 내가 직면 한 것과 같은 문제에 직면 한 다른 사람들에게 도움이 될 수 있습니다.


답변

내 사건에 필요한 해결책을 아직 찾지 못했기 때문에 너무 서투른 것은 나뿐 인 것 같습니다.

다중 모듈 식 프로젝트를 개발 중이므로 기본 Android 모듈 구성이 단일 gradle 스크립트로 추출됩니다. 모든 구체적인 버전의 sdks / libs도 스크립트에서 추출됩니다.

버전이 포함 된 스크립트는 다음과 같습니다.

...

ext.androidVersions = [
    compile_sdk_version     : '27',
    min_sdk_version         : '19',
    target_sdk_version      : '27',
    build_tool_version      : '27.0.3',
    application_id          : 'com.test.test',
]

...

그루비 구문에 익숙하지 않은 내 눈은 컴파일, 최소 및 대상 SDK의 값이 정수가 아니라 문자열이라는 것을 발견하지 못했습니다! 따라서 컴파일러는 HASH STRING ’27’과 일치하는 버전의 SDK를 찾을 수 없다고 정당하게 불평했습니다.

따라서 해결책은 sdk의 버전을 정수로 만드는 것입니다. …

ext.androidVersions = [
    compile_sdk_version     : 27,
    min_sdk_version         : 19,
    target_sdk_version      : 27,
    build_tool_version      : '27.0.3',
    application_id          : 'com.test.test',
]

...