Unity 앱에서 Android 네이티브 UI 사용시 호환성 문제

Jonghwan Choi·2023년 5월 31일
0

Unity Android App

목록 보기
5/6

다이얼로그 호출 에러

문제

안드로이드 라이브러리에서 AlertDialog 호출 코드를 구현하여 유니티 앱에 import했다. 그런데 테스트용 안드로이드 앱에서는 해당 다이얼로그가 이상 없이 호출되었지만, 유니티 앱에서 해당 다이얼로그를 호출했을 때 아래와 같은 에러가 발생하면서 앱이 다운되었다.

04-05 11:34:00.923  9618  9618 E AndroidRuntime: Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

해결책

참고 링크
androidx.appcompat.app.AlertDialog 대신 android.app.AlertDialog 를 사용하자 해결되었다. 아마 유니티에서 사용하는 액티비티가 AppCompatActivity가 아닌 Activity 클래스여서 AndroidX를 제대로 지원하지 않아 발생하는 충돌인 듯하다.

실행은 되지만 이펙트가 제대로 적용되지 않음

androidx.viewpager2.widget.ViewPager2

스크롤 처음 or 끝임을 알리는 애니메이션이 나오지 않음

androidx.recyclerview.widget.RecyclerView

스크롤 처음 or 끝임을 알리는 애니메이션이 나오지 않음

androidx.cardview.widget.CardView

테두리 그림자가 표시되지 않음

해결책

이들 모두 AndroidX 라이브러리에 포함된 UI요소가 문제였다. 유니티 액티비티를 AppCompatActivity로 바꾸지 않을 거라면 AndroidX 라이브러리 사용을 최대한 줄이는 것밖에 답이 없을 듯하다.

profile
유니티 게임 클라이언트 개발자를 꿈꾸는 뉴비

0개의 댓글