728x90

IT/Android 49

갤럭시S9(SM-G960N) 루팅하기

개발을 하면서 갤럭시S9의 정확한 로그를 보기 위해 필요한 권한을 얻기 위해 루팅을 진행했다. 주의보안 기능 녹스(KNOX)가 깨지기 때문에 삼성페이랑 보안 일부 기능을 이용할 수 없게 된다. 사전준비삼성 통합 USB 드라이버 설치(아래 공식 홈페이지 링크) -> https://www.samsungsvc.co.kr/online/downLoadSrchMain.do?anchorG=Y&stModelScrh=SM-G960N#anc 설정 -> 휴대전화 정보 -> 소프트웨어 정보 -> 빌드번호 6번 연속 터치 -> 개발자 옵션 활성화 설정 -> 개발자 옵션 -> USB 디버깅 활성화 -> OEM 잠금해제 활성화 ==> 활성화 하면 공장초기화가 진행되니 미리 중요한 데이터 백업. TWRP 리커버리 받기 https:/..

IT/Android 2018.11.07

ViewPager current view refresh (뷰페이저 현재 뷰 갱신)

안드로이드 개발을 하다보면 뷰페이저를 사용할 일이 많다.뷰페이저를 사용하면 단순한 뷰 이동을 사용할 수 있고, 이로 인해 UI/UX가 좋아지게 되어 사용자 친화적인 앱을 만들 수 있기 때문이다. 처음 뷰페이저를 사용하는 사람들이 봉착하는 문제점 중 하나는, 갹 페이저들에 있는 위젯의 업데이트 관련 문제들이다. 실제로 나도 각각의 페이저들의 리사이클러뷰의 데이터가 변경되었거나, 텍스트뷰의 텍스트가 변경되었다던지.. 그럴 때 해당 페이저를 업데이트를 해줘야 하는데 그것이 잘 되지 않아서 해결 방법을 찾느라 한참 고생했던 기억이 있다. 1. FragmentPagerAdapter 를 상속한 커스텀 어댑터를 만들어서 getItemPosition 을 오버라이드 하여 아POSITION_NONE 구문을 넣는다. 아래의..

IT/Android 2018.10.03

The specified message queue synchronization barrier token has not been posted or has already been removed.

안드로이드나 자바에서 스레드랑 핸들러를 다루다 보면 java.lang.IllegalStateException: The specified message queue synchronization barrier token has not been posted or has already been removed. 위와 같은 에러가 종종 발생을 한다. 음 나의 경우는 아래처럼 new Message 로 새로운 메세지 객체를 생성해서 보냈더니 발생했던 문제였다.Message msg = new Message(); msg.what = 1; mIntroHandler.sendMessage(msg); 아래처럼 변경했더니 그 이후로는 문제가 없었다.Message msg = mIntroHandler.obtainMessage(); ms..

IT/Android 2018.09.30

Pixel2 XL 커널 순정화 하기(boot.img)

픽셀 시리즈를 사용하시는 분들이라면 그냥 순정으로만 사용하시는 분은 적을 거라고 생각한다. 안드로이드에 어느 정도 지식이 있고 소위 말하는 롬질이라는 것을 해보고자 구매하시는 분들도 생각보다 많이 있을거라도 생각한다. 물론 그냥 순정 안드로이드 레퍼런스 폰을 사용해보기 위해서 구매하시는 분도 있을 것이다. 어쨌든.. 순정OS에 커널만 커스텀 커널(flash, elementalX) 등등을 올려서 사용하시는 분들도 많을텐데, 그런 분들을 위한 커널 순정화 작업 매뉴얼을 작성해본다. 일단 본인 OS 버전에 맞는 팩토리 버전을 받아야 한다.https://developers.google.com/android/images 위 주소에 가서 본인 모델에 맞는 팩토리 버전을 다운 받아서 압축을 해제하면 또 다른 압축파일..

IT/Android 2018.09.28

java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener"

안드로이드 프로그래밍을 위와 같은 에러가 발생하는 경우가 있다.이유는 여러 가지가 있는데, 이번에 겪었던 원인은 ActionBar를 없애기 위해서 스타일에 아래의 것을 적용하면서 발생하는 에러였다. style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar" 위의 코드를 적용하니까 View$OnUnhandledKeyEventListener 에러가 발생했는데, 원인을 찾아보니 API28과 AppCompat API 28, Build Tools 28 버전의 호환성 문제인 것으로 판단되어졌다. 그래서 App::Gradle에서 각각의 것을 모두 27 버전으로 내리고, 위의 테마에서도 Base. 을 삭제하였다. 수정 후compileSdkVersio..

IT/Android 2018.09.20

[Android Studio] Error: Please select Android SDK 해결법

개발을 하다보면 컴퓨터 환경을 옮겨다니며 개발을 하는 경우가 종종 발생한다. Android studio 2.x 에서는 프로젝트 export기능이 없어서 프로젝트 clean 후 프로젝트 폴더를 압축해서 옮겨다녔었는데 매우 귀찮았다. Android studio 3.x 부터 프로젝트 zip export 기능이 생겨서 쉽게 소스를 옮겨다닐 수 있어서 편하다. 그런데 종종 마주치는 문제가 실행을 누르면 아래 같은 에러를 보게 되는 경우가 발생한다.Error: Please select Android SDK 이 때는 File - Sync Project with Gradle Files 로 프로젝트 라이브러리 싱크를 새롭게 해주면 해결이 되는 경우가 대부분이다. 그래도 안되면 File - Invalidate caches..

IT/Android 2018.09.15

Nexus 5x 해상도 변경하기(성능)

넥서스5X는 참 애증의 기기입니다. 메인으로 사용하기에는 좀 부족해보이는데, 특유의 묘한 매력이 내치지 못하고 계속 가지고 놀게 만듭니다. 특히 카메라 센서는 지금 나오는 폰과도 비벼볼 수 있을 정도로 좋은 센서이고, 배터리는 참으로 안타깝습니다. 스냅808을 써서 발열 + 성능 저하도 심하구요.. 메모리도 2기가라 앱 리프레쉬가 자주 일어나는 편입니다. 그러나 가볍고, 생긴건 나름 귀엽고, 뒷판 뜯어서 방열 작업 좀 해주면 또 나름 쓸만해지죠..제가 아직도 가지고 놀고 있는 넥서스5X는 알루미늄 호일로 손수 방열 작업을 해둔 상태입니다.주로 커스텀롬 + 커스텀커널 올려서 롬질하는 재미로 가지고 있고, 사진도 가끔 심심하면 찍어요 ㅎㅎ 카메라가 필요없네요.일단 주제로 돌아와서, 이번에는 물리적인 해상도 ..

IT/Android 2018.09.05

All com.android.support libraries must use the exact same version specification gradle 에러

app 모듈의 build.gradle에서 라이브러리 implementation 시 발생하는 에러 메세지이다.해당 에러가 보여도 앱의 구동에는 일반적으로 문제가 없으나 발간 에러 표시는 보기가 싫어진다. com.android.support 의 라이브러리 버전을 섞어 사용하지 말고 통일해서 사용하라는 소리의 에러이다. 에러 전체 메세지의 예제.All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 28.0.0-rc02, 28.0.0-rc01, 27.0.2. Examples include com.android.su..

IT/Android 2018.09.04

Pixel2 XL 에 TWRP 리커버리 설치하기

구글 레퍼런스를 사는 이유 중 제일 큰 것은 폰의 모든 것을 내 마음데로 커스텀해서 써볼 수 있다는 것이다. 넥서스 시절에는 TWRP와 같은 커스텀 리커버리 설치가 매우 쉬웠으나, 픽셀에 와서는 각종 안전장치로 인해서 복잡해지고 있다. 파티션에 Slot A/B라는 개념이 들어가면서 기존의 fastboot flash recovery twrp.img 와 같은 식으로 하면 동작하지 않는다. 리커버리 변경 및 커널 변경에는 기본적으로 루팅이 필요없다. 물론 커스텀 커널의 기능을 모두 끌어내고 싶다면 루팅이 필요하긴 하다. 준비물픽셀2 XLTWRP 파일 (https://dl.twrp.me/taimen/) zip과 img 파일 2개 모두 받아두자.명령어 순서픽셀2 XL 부트로더 언락개발자 설정에서 USB 디버깅을 ..

IT/Android 2018.08.27
728x90