공부하는 다락방

retrieveExplicitStyle NullPointerException Android 10 본문

Android

retrieveExplicitStyle NullPointerException Android 10

권파인 2020. 3. 12. 15:43

 

앱 강종되는 현상이 인입이 되었는데, 아래와 같은 로그가 확인이 되었다..

Caused by: java.lang.NullPointerException:   
	at android.content.res.XmlBlock.nativeGetStyleAttribute (XmlBlock.java)  
	at android.content.res.XmlBlock.access$1500 (XmlBlock.java:41)  
	at android.content.res.XmlBlock$Parser.getStyleAttribute (XmlBlock.java:459)  
	at android.content.res.Resources$Theme.getExplicitStyle (Resources.java:1765)  
	at android.view.View.retrieveExplicitStyle (View.java:6731)  
	at android.view.View.<init> (View.java:5639)  
	at android.view.ViewGroup.<init> (ViewGroup.java:677)  
	at android.widget.AbsoluteLayout.<init> (AbsoluteLayout.java:56)  
	at android.webkit.WebView.<init> (WebView.java:410)  
	at android.webkit.WebView.<init> (WebView.java:353)  
	at android.webkit.WebView.<init> (WebView.java:336)  
	at android.webkit.WebView.<init> (WebView.java:323)

 

처음엔 웹뷰에서 문제가 생기는건가 엄청나게 삽질을하고 .. 미친듯이 구글링을 했다.... 그러다 원인 발견!!

안드로이드 OS 10부터 View 생성중에 테마에서 스타일을 명시적으로 가져오는 식으로 변경이 된 듯 하다.

 

일단 이 현상은 안드로이드 단말 설정 > 개발자 옵션 > 보기 속성 검사 사용 을 활성화 할 때만 발생되고

그렇지 않을 경우 발생되지 않는다.

 

혹시나 앱이 강제종료가 되고 개발자 옵션에서 보기 속성 검사 사용이 활성화가 되어있을 경우 소스상에 AttributeSet을 사용하는 곳이 있는지 확인이 필요하다.

public View(Context context, AttributeSet attrs) {    
	super(context, attrs);    
	this.mContext = context;    
	this.mAttrs = attrs; <- 소스상에 있다면 이 부분을 주석처리
}

 

 

[출처]

https://medium.com/@debuggingisfun/retrieveexplicitstyle-android-10-crash-cef9bced1d01

Comments