안드로이드/삽질주의3 난독화 필수(?) 제외 목록(지속 업데이트 예정) 1. tools:keep Splash 화면에서 ExoPlayer로 .mp4 영상을 재생하는데, release로 빌드 시 영상이 재생되지 않았고, 이를 해결하기 위해서 res/raw 경로에 아래와 같은 파일을 생성하면 된다. 리소스 파일이 제외되는 이유는 첫번째, build.gradle의 isShrinkResources 속성이 true이고, 두번째, splash.mp4 파일을 R.raw.splash 경로를 통해 가져온 것이 아니라, 아래와 같이 string으로 uri 경로를 가져왔기 때문이다. 결국, 프로젝트를 필드 했을 때 해당 .mp4 파일이 사용되지 않는다고 판단되었고, 난독화 대상이 되었기 때문에 리소스를 찾지 못하여 영상 재생이 되지 않았다 2023. 3. 3. 안드로이드 TTS(텍스트 음성 변환) 음성인식 문제 해결 프로젝트를 여러 기기로 테스트 하다가 다음과 같은 에러가 발생하는 스마트폰이 있었다. 음성인식을 위한 코드를 작성하면 RecognitionListener의 onReadyForSpeech가 호출이 되면서 스마트폰이 음성인식 청취상태에 들어간다. 하지만 문제가 발생한 기기는 청취상태에 들어가지 않는다는 것을 로그로 확인했다. 결국 음성인식 청취상태에 들어가지 않아서 onPause에서 음성인식 listening을 해제하기 위한 코드에서 연결된 SpeechRecognizer가 없다고 에러를 뱉어내고 있었다. 같은 코드인데 왜 이런 에러가 발생는건지 이해할 수 없었다. 그래서 스마트폰의 구글 어시스턴트의 음성인식이 되는지 확인해보기로 했다. 안드로이드의 홈버튼을 길게 누르면 구글 어시스턴트가 호출이 되는데, 문제.. 2022. 2. 9. 안드로이드 Recyclerview의 ListAdapter 삽질 기록 해당 글은 Recyclerview의 Adapter를 ListAdapter로 구현하다가 고생한 내용입니다. 앱을 만들다가 Recyclerview의 Adapter를 ListAdapter로 구현했고, 스크롤하여 뷰를 그릴때마다 onBindViewHolder가 호출이 되길래, DiffUtil.ItemCallback의 areItemsTheSame과 areContentsTheSame이 잘못 구현이 된 줄 알고 착각하고 하루를 날렸다.. 원래 Recyclerview는 스크롤 할때 가려지는 뷰를 재활용하여 새로운 뷰를 그리는 형식이다. 따라서 스크롤 시 onBindViewHolder가 호출이 되어 뷰를 그리는것은 당연한 일이다.. 하지만 나는 areItemsTheSame과 areContentsTheSame에서 비교하고.. 2022. 1. 27. 이전 1 다음