Android : @ drawable / picture를 드로어 블로 변환하지 못했습니다.


112

내 드로어 블 폴더에 몇 개의 이미지가 있고 모두 완벽하게 참조되지만 동일한 폴더에 정확히 같은 크기의 이미지를 더 추가하고 참조하려고하면 "@ 변환 실패" 오류가 표시됩니다. drawable / picture into a drawable " . 다른 이름으로 동일한 이미지를 시도했지만 계속 오류가 발생합니다. 나는 또한 다른 XML 레이아웃과 같은 것을 시도했습니다. 또한 그림의 이름은 "jack", "abc", "question_mark"입니다. 볼 수 있듯이 사용할 수있는 문자의 규칙에는 엄격하게 적용되며 여전히 오류 메시지가 계속 표시됩니다. 문제를 해결하는 방법에 대한 조언이 있으면 감사합니다.

@ drawable / picture를 드로어 블로 변환하지 못했습니다.


2
이상한 이유로 정렬되었습니다. 갑자기 몇 번 더 클릭하면 작동합니다! 이 문제가 발생하면 내 조언은 이클립스를 다시 시작하고 모든 것이 올바르게 참조되고 이름이 지정되었는지 확인하는 것입니다.
Jack Trowbridge

2
때때로 프로젝트를 처음부터 다시 빌드하면 이러한 Android SDK 문제를 제거하는 데 도움이됩니다. 내 모든 드로어 블에 대해 잘못된 이미지를 사용하는 이상한 경우를 보았습니다 (오류는 없지만 모든 드로어 블에 대해 올바른 이미지 옆에있는 이미지 사용). 아마도 참조 ID 문제 일 것입니다.
Guillaume

다시 -1 Android, +1 Windows
mihai71 2014-02-26

4
나를 위해 그것은 파일 이름 중간에 문자 "-"였습니다. 이름을 바꾼 후 Android Studio에서 모든 것이 잘되었습니다.
martin.p

답변:


200

(불행히도) Eclipse를 다시 시작하면 문제가 사라집니다.


Eclipse에서 프로젝트를 닫고 다시 여는 것이 저에게 효과적이었습니다. 감사합니다 Aliyah!
stephen.hanson dec

Ia는 drawable-normal-hdpi 에서이 문제가 있었지만 drawable-hdpi에서 내 이미지를 가질 때 모든 것이 정상입니다.
Yar

@DoctororDrive-아마도 문제가 약간 달랐을 것입니다. 여전히 오류가 있습니까?
Androliyah 2017 년

4
꽤 재미이 문제는 이클립스와 안드로이드 스튜디오에 모두 존재
모하마드 AbuShady

3
프로젝트 닫기 / 다시 열기가 작동하지 않았지만 Android 스튜디오를 종료 / 다시 시작하면 작동했습니다. Aliyah 감사합니다.
tmr

143

또한 리소스 이름에 잘못된 문자가 포함되어 있는지 확인하십시오 (내 이미지에서 "-"였습니다).


Android의 자체 아이콘 팩에는 Eclipse가 질식하는 10-device-access-alarms.png와 같은 파일 이름이 포함되어 있습니다! 감사.
물 자체

12
Android 스튜디오도 이러한 파일 이름에 질식합니다. 밑줄로 이름을 바꾸면 문제가 해결되었습니다.
Cypress Frankenfeld 2013

저에게는 우주 캐릭터 ""였습니다!
Efreeto

제 경우에는 공간이 범인이었습니다
사주

뿐만 아니라 나를 이상하게 안드로이드 스튜디오 ...이 일을 표시 빨간색하지 않았다 "-"그것은이었다
Haseeb Zulfiqar을

55

Eclipse를 다시 시작해도 문제가 해결되지 않으면 이미지 이름이 알파벳 문자 (숫자가 아님)로 시작하는지 확인하십시오.


4
감사. Android는 드로어 블 이름으로 R 파일에 드로어 블 ID 변수를 생성합니다. 예를 들어 파일이 숫자로 시작하는 경우 변수는 숫자로 시작되며 Java 언어에서는 허용되지 않습니다.
momo

9
또한 대시 (-)가 포함되어 있지 않은지 확인하십시오. 예 : 'mic-back'은 유효하지 않습니다. 'mic_back'은 괜찮습니다
Markus

이것은 내 문제였습니다. Android 웹 사이트 의 팩 에 있는 모든 아이콘 에는 선행 번호가 있습니다.
theblang 2011

PNG 여야합니까? jpg를 사용하려고합니다.
IgorGanapolsky 2013

28

file nameabc...xyz 012...789 _ . Resources 폴더 에만 포함되어야 합니다.

예 :

my-image.pngFalse !
MyImage.pngFalse !
내 image.pngFalse !
...
...

my-xml.xmlFalse !
MyXml.xmlFalse !
내 xml.xmlFalse !
...
...


25

이미지 이름에 "-"기호가 포함되어 있기 때문입니다. 허용되는 유일한 문자는 [a-zA-Z0-9_.]

감사


1
대문자는 유효하지 않습니다. 이를 사용하는 경우 Android Studio에서 오류 : Error : Execution failed for task ': app : mergeDebugResources'가 표시됩니다. > 오류 : 잘못된 파일 이름 : 소문자와 숫자 만 포함해야합니다 ([a-z0-9_.])
LightMan

5

Android Studio에서 동일한 문제가 있습니다. IDE를 다시 시작할 필요없이 프로젝트를 닫았다가 다시 열면 문제가 해결됩니다. (src가 올바른 입력인지 확인하십시오).


프로젝트를 재 구축해도됩니다.
Mike

나는 File-> Invalidate Caches / Restart ...를 수행했습니다.
SMBiggs

3

Android Studio에서 리소스 (이미지) 파일 이름은로 시작할 NUMERIC수 없으며 BIG문자를 포함 할 수 없습니다 . 문제를 해결하려면 알리야가 말한대로하십시오. IDE를 다시 시작하십시오. 이것은 내 문제도 해결했습니다.


2

파일 이름을 단순화하십시오. 파일 이름에 특수 문자가 있으면 문제가 발생하는 것 같습니다. 예를 들어 chaange "my-main-header.png"에서 "header1.png"로의 이유는 확실하지 않지만 작동합니다.


2
리소스 파일 이름에 리소스 식별자로 변환됩니다 때문입니다 R.java-식별자에 대한 유효한 문자가 아닙니다.
laalto 2013-08-12

2

Android Studio의 경우 동일한 문제가 발생했습니다. Linux에서 실행했기 때문에 파일이 자동으로 확장자를받지 못했습니다. 파일 이름 끝에 .png를 수동으로 추가하면 파일 유형을 인식하고 그에 따라로드 할 수 있습니다.

Android 스튜디오는 프로젝트 내에서 이름 바꾸기를 리팩터링하려고하면 쉿쉿 할 수 있습니다. Android는 R을 즉시 재생성하려고하기 때문입니다. 겉보기에 무작위로 보이는 코드 줄을 가리 키기 때문에 오류의 원인을 정확히 알지 못합니다. 제 경우에는 주석이었습니다.

해결책 : 드로어 블에서 삭제하고 프로젝트 외부에서 이름을 바꾼 다음 다시 던져 넣으십시오.


1

다른 포스터가 제안한 것보다 훨씬 사소 할 수 있습니다. 여러 프로젝트가있는 경우 잘못된 프로젝트에서 xml 레이아웃 파일을 만들지 않았는지 확인하십시오.

생성 후 파일이 자동으로 열리므로 눈에 띄지 않을 수 있으며 올바른 프로젝트에 있다고 가정합니다. 당연히 드로어 블이나 기타 리소스에 대한 모든 참조는 유효하지 않습니다.

그리고 그래, 나는 그렇게 멍청하다. 지금부터 사용하지 않는 프로젝트를 종료하겠습니다. :)


1

Eclipse를 다시 시작하거나 프로젝트를 닫지 않고 작동하는 방법을 찾았다 고 생각합니다 (나를 위해 일했습니다).

  • Eclipse의 res / 아래에서 이미지 파일 이름을 바꿉니다-> 파일을 선택하고 F2를 누릅니다 (저는 res / drawable-mdpi / bush-landscape.jpg-> bush.jpg로 변경됨).

  • 프로젝트 빌드 (여전히 오류가 표시됨)

  • 사용했던 이미지를 변경합니다 (그래픽 레이아웃에서 변경했습니다. 저에게는 LinearLayout / Background / bush-landscape-> "bush-landscape"를 "bush"로 변경)

  • 프로젝트 구축


1

내 이미지 이름은 21.jpg입니다. 나는 그것을 abc.jpg로 이름을 바꾸었고 작동했습니다. 따라서 이미지 이름이 숫자로 시작하지 않는지 확인하십시오. 그러나 위의 모든 답변도 허용됩니다.


1

명명 규칙이 맞으면 파일 -> 캐시 무효화 / 다시 시작으로 이동하십시오.

그리고 Invalidate Caches / Restart를 누르십시오 .

이것은 제 경우에 도움이되었습니다.


0

제 경우에는 다른 dpi 및 장치 크기를 지원하기 위해 다른 폴더 (동일한 이름)에 이미지가있었습니다. 모든 이미지는 그중 하나를 제외하고 동일한 이름을 가졌습니다. 그것은 잘못 입력되었고 다른 이름처럼 이름을 바꾸면 내 문제가 해결되었습니다.

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