레이아웃의 레이아웃이 기본 레이아웃 폴더에 선언이 없습니다 [오류]
앱 레이아웃의 Android Studio에서 다음 오류가 발생합니다.
레이아웃의 레이아웃이 기본 레이아웃 폴더에 선언이 없습니다. 이 한정자와 일치하지 않는 구성에서 리소스를 쿼리하면 충돌이 발생할 수 있습니다.
이 오류가 발생하는 레이아웃 중 하나는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@null" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="@string/hello_world"
android:src="@drawable/loading_top" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="@string/hello_world"
android:src="@drawable/loading_bottom" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@string/hello_world"
android:background="@color/white"
android:layout_marginBottom="5dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@drawable/loading_logo" />
<ImageView
android:id="@+id/loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center|center_vertical"
android:layout_marginBottom="0dp"
android:layout_marginTop="0dp"
android:contentDescription="@string/hello_world"
android:scaleType="fitXY"
android:src="@null" />
</FrameLayout>
</LinearLayout>
첫 번째 선형 배치의 첫 번째 줄에서 오류가 발생합니다.
이 오류를 해결하는 방법을 아는 사람이 있습니까?
감사해요.
업데이트: 문제를 해결해 준 것이 무엇인지에 대한 질문에 답했습니다.
저의 경우 안드로이드 스튜디오를 닫고 다시 여는 것이 문제를 해결했습니다.프로젝트를 재구성하거나 캐시를 지우는 것은 도움이 되지 않았습니다.
다음을 시도해 볼 수도 있습니다.
파일 => 캐시 무효화 / 재시작 => 무효화 및 재시작.
캐시를 무효화하거나 다시 시작하면 문제가 해결되었습니다.
저는 그냥 했어요.Build > Clean Project
제 경우에는 파일명에 대문자를 사용한 것이었습니다.저는 모든 것을 소문자에 넣어 두었고 그것은 고쳐졌습니다.
레이아웃: layout-sw320dp layout-sw480dp layout-sw600dp layout-sw720dp...
기본적으로 다음과 같이 레이아웃을 추가해야 합니다.

그래들 모듈 사이에 레이아웃 파일을 이동할 때 이 오류가 발생하였습니다.재시작할 때 자동으로 해결되므로 캐시를 무효화할 필요가 없었습니다.Android Studio그리고 프로젝트를 청소했습니다.IDE 버그일 가능성이 높습니다.
제 경우에는 이 문제를 해결했습니다.
안드로이드는 나에게 이 id-error라고 말합니다.문서에서 말하는 기본 리소스 누락:
리소스가 -land 또는 -en과 같은 한정자가 있는 폴더에만 정의되어 있고 기본 폴더(레이아웃 또는 값 등)에 기본 선언이 없는 경우 해당 디바이스가 지정된 한정자가 누락된 구성에 있는 디바이스에서 해당 리소스에 액세스하면 앱이 충돌합니다.
특별한 경우로, 드로잉이 기본 폴더에 지정될 필요는 없지만 밀도 폴더(예: 드로잉 가능-mdpi)에 일치하는 경우 해당 이미지가 사용되고 크기가 조정됩니다.그러나 drawable-en-hdpi와 같은 폴더에만 drawable을 지정하면 영어가 아닌 로케일에서 앱이 충돌합니다.
-fr 그리기 가능과 같은 리소스가 있을 수 있습니다. -fr 그리기 가능과 같은 리소스는 동일한 한정자(예: -fr 스타일)를 가진 다른 리소스에서만 참조되며 자체는 안전한 폴백을 가지고 있습니다.그러나 이렇게 하면 다른 사용자가 실수로 그리기 및 충돌을 참조할 수 있으므로 기본 폴더에 기본 더미 폴백을 생성하는 것이 더 안전합니다.또는 요소에 ignore="MissingDefaultResource" 도구를 추가하여 문제를 억제할 수 있습니다.
이 시나리오는 문자열 번역에서 자주 발생하며, 코드와 해당 리소스는 삭제할 수 있지만 번역 삭제는 잊어버립니다.해당 시나리오에 대한 전용 문제 ID가 있으며 ExtraTranslation(추가 번역)이라는 ID가 있습니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingDefaultResource" <!--this-->
android:layout_width="match_parent"
android:layout_height="match_parent">
하지만 이게 쉬운 해결책이에요 안드로이드에서 자원을 놓치게 만들거든요
파일 시스템 옵션으로 해결합니다.Android가 리소스가 부족하다고 알려준다면, 어떤 것이 부족하니 당신은 그것을 보충해야 합니다.
당신은 \app\src\main\res로 가야 합니다.
아마도: 파일의 누락된 폴더에서 마우스 오른쪽 버튼을 클릭하고 Exporer에 표시한 다음 \app\src\main\res로 돌아갑니다.
당신은 찾을 수 있을 것입니다.
/layout
/layout-normal
/layout-large
/some more folders
파일이 어디에 빠졌는지 찾아내야 합니다.제 경우에는 /배치도에 빠져있습니다.
- 'ctrl+A' --> 'ctrl+x' --> 'ctrl+v'를 누르면 아무것도 바뀌지 않지만 오류를 해결할 수 있습니다.
저는 윈도우 탐색기를 사용하여 폴더의 xml 파일을 복사했습니다.인코딩 문제가 발생한 것 같습니다.안드로이드 스튜디오 내에서 파일을 삭제하고 대처한 결과 문제가 해결되었습니다.
저의 경우 대문자로 인해 발생한 문제입니다.와 같은 수 ." 다.다에서 .Activity_disease.xml.activity_disease.xml문제가 해결되었습니다.
프로젝트를 재구축하거나 캐시를 무효화하는 것만큼 효과가 있는 것은 없었습니다.저의 경우 안드로이드 스튜디오를 닫고 다시 여는 것이 문제를 해결했습니다.
한 일입니다. 즉, 입니다입니다.fragment_item summary.xmlfragment_item_summary.xml.
프로젝트를 gradle과 동기화만 하면 이 문제를 해결했습니다.
(Large/Small/Normal)과 같이 다른 버전의 레이아웃을 사용하는 경우에는 동일한 주 레이아웃 폴더를 사용해야 합니다.이와 같이
이 다른 이름을 적어도 것 는 가 .time_dialog.xml그리고.time_dialog_landscape.xml을 로 바꿉니다.time_dialog.xml문제를 고쳤습니다.
저는 다음과 같은 과정을 통해 성공할 수 있었습니다.
- 페이지에서 코드를 모두 잘라냅니다(창용은 ++).ctrlAX
- 코드를 다시 붙여 넣습니다.
코드를 XML 레이아웃 파일에 복사/붙여넣은 후 문제가 있었는데, 수동으로 파일을 만들어서 수정했습니다.코드가 완전히 똑같았기 때문에 매우 이상합니다. 하지만 어떻게든 이 문제를 해결했습니다.파일 => 캐시 무효화 / 재시작 => 무효화 및 재시작 수정을 다시 시작해 보았지만, 파일을 수동으로 다시 생성해야 문제가 해결되었습니다.
이전 게시물과 마찬가지로 리소스 이름을 변경해야 했습니다.처음에 복사 붙여넣기를 통해 만들었습니다..xml파일을 프로젝트 탐색기에 저장합니다.혼란스럽게도 이것은 탐험가에게 같은 이름을 가지고 있었습니다. 그러나 a.land레이아웃과 연관된 흐린 속성.
내 해결책은 파일 시스템에 들어가서 파일을 수동으로 이동하는 것이었습니다.layout-land로.layout폴더
스튜디오나 컴파일러가 기본 레이아웃 폴더 안에서 리소스 파일을 찾을 수 없기 때문에 이 문제가 발생하는 것 같습니다.문제를 해결하려면 파일을 다른 레이아웃 폴더에 만들어야 할 수도 있습니다.다른 대상 디바이스의 레이아웃을 설계하기 위해 레이아웃 폴더 v21, v25 등을 사용하는 경우 리소스 파일도 여기에 배치해야 할 수 있습니다.
제 경우 값 이름에 사용된 "잘못된" 문자(점)로 인해 이 경고가 표시되었습니다.
<dimen name="dp.divider.xlarge">24dp</dimen>
점을 제거하면(이름을 마우스 오른쪽 버튼으로 클릭한 다음 Android Studio에서 Refactor-Rename) 문제가 해결되었습니다.
파티에 늦었지만 저의 경우는 위와 다릅니다.
방금 리소스 이름을 바꿨더니 작동하기 시작했습니다.
사실 제 리소스 이름이 ic_menu_black_24dp.xml 이어서 안드로이드의 메뉴 리소스와 충돌했습니다.
저에게 효과가 있었던 것은 ID 속성을 제거하는 것입니다.
android:id="@+id/[id same as filename]"
배치 리소스에서.
해결해 준 것은 다음과 같습니다.
Android Studio에서 레이아웃 디렉토리에서 파일 이름을 마우스 오른쪽 단추로 클릭하고 다음 화면에서 특별한 체크박스를 선택하지 않고 코드 다시 포맷을 선택합니다.
여기서 정확히 무슨 일이 벌어지는지는 모르겠지만요.
(1) 원래 레이아웃을 삭제합니다.
(2) 레이아웃을 다시 추가합니다.
저의 경우 layout-land 파일과 layout 파일명이 다르기 때문에 같은 오류가 나타났습니다.
My Case : layout-land -> my_layout_land layout -> my_layout
두 파일 이름을 동일하게 만들어서 해결했습니다.레이아웃 랜드를 사용하는 경우 레이아웃 랜드에 파일이 있으면 레이아웃 폴더에도 파일이 있어야 합니다.
증분 빌드를 사용할 수 있으므로 일시적으로 사용하지 않도록 설정하면 오류가 사라집니다.제 경우에도 그랬습니다.
배치tools:ignore="MissingDefaultResource"화면 레이아웃 설명으로 해결해 줬습니다.
언급URL : https://stackoverflow.com/questions/52547657/the-layout-layout-in-layout-has-no-declaration-in-the-base-layout-folder-erro
'programing' 카테고리의 다른 글
| 선언문에서 조합을 초기화할 수 있습니까? (0) | 2023.10.04 |
|---|---|
| Angular(최신까지 2개 이상)를 사용하여 URL에서 ID 추출 (0) | 2023.09.24 |
| Jquery Datatables 열 렌더링 및 정렬 (0) | 2023.09.24 |
| 블록과 시도/잡기 블록을 제외한 __try/__를 사용하는 것이 더 나을까요? (0) | 2023.09.24 |
| content_main.xml과 activity_main.xml의 차이점은 무엇입니까? (0) | 2023.09.24 |

