App/Android 64

안드로이드 android // 오류 해결 Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

0. 해결법 시간이 없으신 분들은 이곳을 통해 빠른 해결 하시기를 기원합니다. https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted 1. 사건의 발단 회사에 예전에 제작하고 유지하고 있는 안드로이드 프로젝트가 있다. 그런데 최근 일부 기능이 사용되지 않으면서 외부 서비스에 비용이 매달 지출된다는 것을 발견하였다. 그 기능을 일시적으로 비활성화 하기로 하였다. 2. 기능 수정은 간단하군 오랜만에 건드리는 프로젝트라 걱정이 앞섰으나, 사실 그렇게 어려운 부분은 없었다. 해당 기능을 사용할 수 없도록 화면을 약간 수정하고 소스코드를 몇가지 주석처리를 했을 ..

App/Android 2022.01.16

fcm push 올 경우 뱃지 변경

fcm push가 올 경우 화면을 실시간으로 변경해야될 경우가 있음. liveData를 이용하여 구현 할 수 있다. 안드로이드 App 파일에서 스태틱으로 라이브데이터를 선언해준다 App파일의 onCreate에서 초기화 라이브데이터를 초기화 해준다. fcm 메시지 리시버 내부에서 뱃지와 관련된 글로벌 카운트를 올려준 뒤 라이브 데이터를 변경한다(변경이 되어야 액티비티/프래그먼트에서 변경 감지를 할 수 있다) 메인쓰레드가 아닌곳에서 변경을 하려면 postValue를 이용한다 뷰를 변경할 액티비티나 프래그먼트로 이동한다 액티비티는 this / 프래그먼트는 viewLifecycleOwner를 라이프사이클 오너로 입력한다 이제 푸시 알림이 오면 해당 뱃지의 뷰가 변경이 된다. rx Customer를 이용하여서도 ..

App/Android 2021.04.05

안드로이드 ndk cmark를 이용한 값 난독화

연구 목적 : 내부 값 난독화 목적 결과 : 값 난독화에는 의미가 적음 // 자체제작 라이브러리 난독화에는 의미가 있음(C++) - 값은 되도록 서버에 저장 - proguard를 이용 여러 사이트를 참고하여 ndk를 이용한 키 난독화 작업을 테스트 해보았음. 다만 구글링으로 구성하려고 하면 쉽지 않다. 오히려 안드로이드스튜디오의 템플레이트로 연습해보는 것이 좋다. Native C++ 프로젝트를 열어보면 아래와 같이 cpp 폴더와 함께 CMake 관련 파일들이 생성된다. native-lib.cpp 파일을 보면 Hello from C++을 리턴하게 되어있다. MainActivity를 열어보면 스태틱으로 네이티브 라이브러리와 함수를 로드하게 되어있고 빌드후 실행해보면 Hello from C++가 나오는 간단한..

App/Android 2021.01.20

안드로이드 난독화

1. app 단위 gradle에서 minifyEnabled true 세팅 2. proguard-rules.pro 파일을 수정 외부 라이브러리 등의 난독화 설정을 해줘야한다. 라이브러리 docs에 proguard 관련 내용이 있으니 참고하면 된다. 또한 retrofit2와 rxjava 등을 사용한다면 통신에 필요한 모델들도 난독화에서 제외해야한다. 인텔리제이에서 아래와 같이 빨간줄이 뜨지만 정상작동한다. (오히려 빨간줄을 없애려고 * 하나 줄이는 등의 작업을 하면 빌드 후 문제가 발생하는 듯 하다.) 3. 빌드 후 테스트하여 에러 등을 확인한다. 4. apktool / dex2jar / jd-gui 등의 디컴파일 툴 등을 이용하여 디컴파일해서 난독화가 잘되었는지 확인한다. 5. 기타 아래는 proguard..

App/Android 2021.01.19

안드로이드 버튼 효과 그림자 음영 제거

fimtrus.tistory.com/entry/Android-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%B2%84%ED%8A%BC-%EC%9D%8C%EC%98%81-%EC%A0%9C%EA%B1%B0Remove-button-shadow-on-Android [Android] 안드로이드 버튼 음영 제거(Remove button shadow on Android) 안드로이드 버튼의 음영을 제거할 필요가 있을 때가 있다. xml 파일의 button 속성 값을 추가하게 되면 간단하게 해결 된다.. android:stateListAnimator="@null" fimtrus.tistory.com

App/Android 2020.11.20

안드로이드 // 서비스 연습2 카운터 앱

해당 프로젝트 https://github.com/jaybon1/androidwork/tree/master/serviceCounterApp jaybon1/androidwork Contribute to jaybon1/androidwork development by creating an account on GitHub. github.com 안드로이드 4대 컴포넌트 알아둬야함 액티비티 서비스 컨텐트프로바이더 (연락처앱에 접근 하는 등) 브로드캐스팅 AIDL을 만들 수 있으면 컨텐트 프로바이더를 만들 수 있다 다른 앱이 원할 때 내 앱의 함수를 실행 책 552페이지 -- 뷰 만들기 -- 서비스 생성 -- 1초에 한번씩 count가 증가하도록 세팅 -- 메인액티비티에서 서비스를 실행해본다 -- 로그에 잘 보인다 -..

App/Android 2020.08.18

안드로이드 // 서비스 기초1

참고 blog.naver.com/getinthere/221695417720 안드로이드 6강 - (1) 서비스 1. 서비스 생명주기2. MP3 플레이어 만들기서비스는 액티비티가 죽어도 명시적으로 죵료하지 않으면 계속... blog.naver.com -- 현재프로젝트 https://github.com/jaybon1/androidwork/tree/master/serviceTest jaybon1/androidwork Contribute to jaybon1/androidwork development by creating an account on GitHub. github.com 서비스 최초실행시에는 startService(onStartCommand) // 재실행시에는 bindService(onBind) // 종료..

App/Android 2020.08.18