Programing

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

crosscheck 2020. 7. 26. 12:26
반응형

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


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

@ 드로어 블 / 사진을 드로어 블로 변환하지 못했습니다.


불행히도 Eclipse를 다시 시작하면 문제가 해결됩니다.


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


Eclipse를 다시 시작해도 문제점이 해결되지 않으면 이미지 이름이 영숫자가 아닌 문자로 시작하는지 확인하십시오.


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

예를 들어 :

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

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


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

감사


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


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


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


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

안드로이드 스튜디오는 즉시 R을 재생성하기 때문에 프로젝트 내에서 이름 바꾸기를 리팩토링하려고하면 히스토리가 발생할 수 있습니다. 겉보기에 임의의 코드 줄을 가리 키므로 오류의 원인을 정확히 알 수 없습니다. 제 경우에는 주석이었습니다.

해결 방법 : 드로어 블에서 삭제하고 프로젝트 외부에서 이름을 바꾸고 다시 던지십시오.


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

파일을 만든 후에는 파일이 자동으로 열리므로 파일이 표시되지 않고 올바른 프로젝트에 있다고 가정합니다. 드로어 블 또는 기타 리소스에 대한 참조는 유효하지 않습니다.

그렇습니다, 나는 그 바보입니다. 지금부터 사용하지 않는 프로젝트를 닫을 것입니다 :)


Eclipse를 다시 시작하지 않거나 프로젝트를 닫지 않고 작동시키는 방법을 찾았습니다.

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

  • 프로젝트 빌드 (아직 오류가 표시됨)

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

  • 프로젝트 구축


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


이름 지정 규칙이 있으면 파일 -> 캐시 무효화 / 다시 시작으로 이동하십시오.

그리고 Invalidate Caches / Restart를 누릅니다 .

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


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

참고 URL : https://stackoverflow.com/questions/8874262/android-failed-to-convert-drawable-picture-into-a-drawable

반응형