본문 바로가기
Android/Android Error

안드로이드 에러 Execution failed for task ':app:processDebugResources'. occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction 원인 및 해결

by 수쓰뎁 2023. 3. 7.


Abstract.

이번 에러는 커스텀 체크박스(Custom CheckBox)를 작성하고 빌드하여 테스트 하다가 에러가 발생했다. 간단히 요약하자면 xml 파일에서 작성한 <CheckBox> 태그의 내용 중에서 커스텀 체크박스만 보여주기 위해 android:button="@null" 이라는 내용을 작성하는데, 여기서 @를 빼먹고 android:button="null"로 작성하여 발생한 내용이다.


1. 에러 내용

프로젝트에서 커스텀 체크박스를 적용할 필요가 있어서 체크박스를 커스터마이징 하는 xml 파일들을 작성하고 최종적으로 이 커스텀 체크박스가 보여질 xml 코드에 CheckBox 태그를 다음과 같이 작성하였다.

 

xml 코드

<CheckBox
	android:id="@+id/cb_question_1"
	style="@style/Custom_Checkbox_Green"
	android:layout_width="match_parent"
	android:layout_height="60dp"
	android:paddingStart="30dp"
	android:button="null"
	android:text="@string/basic_question_01"
	android:textSize="20sp" />

Notice : style="@style/Custom_Checkbox_Green"는 themes.xml 파일에 커스텀 체크박스에 대한 스타일을 직접 만들어정의해 둔 것이다.

 

 

이 에러에서 주목할 내용은 다음 두 가지다.

  • activity_basic_survey.xml:108
  • error: 'null' is incompatible with attribute button (attr) reference.
         error: failed linking file resources.

activity_basic_survey.xml:108의 내용을 보면 알 수 있듯이, activity_basic_survey.xml 파일의 108번째 줄에서 에러가 발생했다는데, 확인해보니 다음 코드에서 에러가 발생했다.

<CheckBox
	android:button="null" />

error: 'null' is incompatible with attribute button (attr) reference.의 내용에서 확인 가능하듯이 button 레퍼런스에 작성된 null이라는 것이 호환되지 않기 때문에 발생한 것이다. @null로 작성해야 정상 작동하는 것인데 @를 빼먹어서 그런 것이었다.


2. 에러 해결

위에서 파악한 에러 웬인이 밝혀졌으니 해결하는 것은 간단하다. <CheckBox> 태그 안의 android:button=""속성에서 null 앞에 @를 붙여주기만 하면 된다.

반응형

<CheckBox
	android:button="@null" />

코드를 작성하면서 세미콜론(;)을 빼먹는 것과 같은 급의 실수라고 보면 된다.

반응형

댓글