9월, 2024의 게시물 표시

Android Compose Using a view in compose

이미지
사용 버전: Android Studio Koala 2024.1.1 사용 언어: Kotlin 2.0.10 안드로이드 컴포즈 Using a view in compose를 알아보겠습니다. Compose(컴포즈)에서 지원하지 않는 것은 View(뷰)를 사용해야 합니다. 이러한 예로는 AdMob(애드몹)이 있습니다. AdMob의 경우 XML로 되어 있어, Compose에서 바로 사용하지 못합니다. 이럴 때 사용하는 것이 AndroidView입니다. 저는 ViewBinding을 사용하기 때문에 다음 라이브러리를 사용합니다. androidx.compose.ui:ui-viewbinding 설명을 위해 version catalog는 사용하지 않습니다. 버전이 없는 이유는 Compose BOM을 사용하고 있기 때문입니다. Sync Now를 눌러줍니다. 사용법은 다음과 같습니다. Compose 안에 AndroidViewBinding()을 적어주고, Binding을 사용할 layout(레이아웃)과 inflate를 적어줍니다. 여기서는 AdUnifiedSmallRecyclerBinding::inflate가 사용되었습니다. 그러면, 자동으로 괄호 안에 Binding 된 값들이 들어갑니다. 이런 식으로 Binding으로 할 것들을 정해줍니다. Modifier도 적용할 수 있습니다. 실행해 봅시다. 이런 xml이 이렇게 표현됩니다. 끝. 카테고리; Android

Android Proguard R8 retrace an obfuscate debug

이미지
사용 버전: Android Studio Koala Feature Drop 2024.1.2 사용 언어: Kotlin 2.0.20 안드로이드 Proguard R8 retrace an obfuscate debug를 알아보겠습니다. Proguard(프로 가드)는 obfuscate(난독화)를 시켜주는 툴입니다. 그런데, 문제가 있습니다. 개발자 또한 디버그가 어렵다는 것이죠. 또잉? class(클래스) 'c'가 없다네요? 저는 'c'라는 class를 만든 적 없는데 말이죠? 이것이 바로 난독화입니다. 만약 프로그램을 분석하는 사람이 있다면 우리의 앱을 함부로 분석할 수 있겠죠? 이것을 어렵게 해주는 것입니다. 그럼, debug(디버그)는 어떻게 해야 할까요? Setting에 가셔서 Android SDK - SDK Tools - Android SDK Command-line Tools를 설치합니다. 그러면 본인의 SDK 위치에 설치됩니다. 제 경로는 아래와 같습니다. 위에 오류 난 logcat(로그캣)을 복사하여 저장합니다. Mapping.txt 파일도 찾아줍니다. 이 경로들을 잘 적어줍니다. 결과는 짜잔. 난독화가 해결되었는데, 일부분은 여전히 난독화가 되었네요. 이게 오픈소스 프로젝트라서 키 같은 것이 숨겨져있습니다. 그래서 리소스를 전부 가져다 쓰지 못해서 그런가 봅니다. 끝. 카테고리: Android