본문 바로가기

전체 글

(13)
LiveData, MVVM, DataBinding, RecyclerView 예제 참고자료 developer.android.com/topic/libraries/architecture androidwave.com/android-data-binding-recyclerview/ 예제설계 앱 아키텍처는 MVVM을 따릅니다. 비동기적으로 수행되어 변경되는 데이타는 LiveData를 이용합니다. DataBinding을 이용해 소스코드를 간결하게 합니다. RecyclerView를 이용하여 리스트를 처리합니다. 위 설계 목표를 가지고 아래와 같은 예제를 직접 만들어보았습니다. 다수개의 항목들이 비동기적으로 로딩되고 로딩되는 항목들의 상태정보를 리스트로 보여주도록 해보겠습니다. * 간단하므로 굳이 RecyclerView나 LiveData 등이 필요하지 않지만, 스터디 목적으로 끼워 맞춰보았습니다. M..
여러 git project의 변경 내역 확인 방법 Android 소스는 여러 git project들이 repo를 이용하여 형상관리됩니다. 흔하지 않은 경우이기는 하지만 하나의 기능구현을 위해 여러 git project들을 수정해야하는 경우가 있습니다. 이런 경우 최종적으로 작업 내용을 반영하고자 할 때 어떤 git project의 어떤 파일들을 반영해야하는 지 확인하는 방법입니다. repo forall -c 'git rev-parse --show-toplevel; git status' 해석하자면 다음과 같습니다. repo forall -c XXX repo를 구성하는 모든 git project에 대해 XXX git 명령을 수행합니다. git rev-parse --show-toplevel; git status git project에 대한 경로를 표시해주고,..
ninja: error: 'blahblah.so.toc', needed by 'something.so', missing and no known rule to make it Android 모듈 빌드 중 제목과 같은 에러가 발생하는 경우가 있습니다. 저의 경우, 다음과 같은 경우에 위 빌드에러를 만났습니다. 1. Android 소스 전체 빌드를 완료합니다. 2. 신규 기능 구현을 하고 구현 내용 중 일부인 something.so를 부분빌드합니다. 이때 something.so를 빌드하기 위해 blahblah.so가 필요한데, blahblah.so를 필요로하는 모듈이 something.so가 유일하다면 위와 같은 빌드에러가 발생할 수 있습니다. 현상만 보면 빌드에러가 발생하는 이유를 알기 어렵습니다. 왜냐하면 신규 모듈인 something.so가 필요로하는 blahblah.so는 out 폴더에 잘 만들어져 있는데 blahblah.so.toc가 없기 때문에 something.so를..
'adb'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. adb.exe는 Android SDK의 일부분입니다. Android Studio가 보급됨에 따라 Android Studio를 설치하면서 Android SDK도 그 과정의 일부분으로 자동설치됩니다. 그러다보니 커맨드 창에서 adb 실행 시 제목과 같이 표시되며 실행되지 않을 경우가 있습니다. adb.exe의 위치는? %LOCALAPPDATA%\Android\sdk\platform-tools 에 있습니다. C:\ 에서 실행 시 연결이 안되던 adb shell 이, %LOCALAPPDATA%\Android\sdk\platform-tools 에서 실행 시 정상 연결된 것을 확인할 수 있습니다. 매번 입력하면 귀찮으니 adb를 자주 사용하신다면 아래 방법을 보고 윈도우즈의 path 환경변수에 등록해 놓으시길 추천..
OpenSSL을 이용한 ECDSA 시뮬레이션 시나리오 A가 생성한 메세지를 B에 전달하려고 하는데 메세지를 전달받은 B에서 메세지가 A가 보낸 그대로인지 확인하고자 합니다. ECDSA(타원곡선을 이용한 전자서명 알고리즘)을 사용합니다. 타원곡선은 prime256v1을 사용합니다. A B 준비작업 키 페어 생성을 위한 파라메터 파일 생성 openssl ecparam -name prime256v1 -out keyParam.pem 결과물 : keyParam.pem 참고 : 키 페어 생성을 위한 파라메터일 뿐. 키 생성 후 버려도 되는 정보. 키 페어 생성 openssl ecparam -in keyParam.pem -genkey -noout -out key.pem 결과물 : key.pem 참고 : 가장 중요한 정보. A 자신이 안전하게 잘 보관해야 함. ..
adb install fail : INSTALL_FAILED_NO_MATCHING_ABIS Google PlayStore에서 설치하는 경우가 아닌 adb install 통해 앱을 설치할 때 다음과 같은 에러가 발생하는 경우가 있습니다. adb install fail : INSTALL_FAILED_NO_MATCHING_ABIS 원인 단말마다 지원되는 ABIs가 정해져있고, 앱마다 지원하는 ABIs가 정해져있습니다. 지원되는 ABIs가 호환되지 않을 때 위 에러 메세지가 표시되며 설치되지 않습니다. 단말이 지원하는 ABIs 확인하는 방법 adb shell getprop | grep -i abi 앱이 지원하는 ABIs 확인하는 방법 APK 파일의 확장자를 *.apk에서 *.zip으로 바꿉니다. ( 원본 APK는 백업해 둡니다. ) *.zip 파일을 압축해제합니다. 압축해제된 폴더 하위의 lib폴더를..
Android에 설치된 앱이 Platform Key로 서명되었는지 확인하는 방법 결론 adb shell pm dump | grep KeySets 위와 같이 입력 시 결과가 아래와 같이 나오면 에 입력한 앱은 Platform Key로 서명된 것입니다. 설치된 앱들의 package 이름 list 확인하는 방법 adb shell pm list packages Windows에서 grep 명령 사용하는 방법 www.cygwin.com/ Cygwin Cygwin Get that Linux feeling - on Windows This is the home of the Cygwin project What... ...is it? Cygwin is: a large collection of GNU and Open Source tools which provide functionality similar ..
보안 측면에서의 Android 지문인증 (4) 이전 글까지 SW/HW 구조적인 측면에서 Android 지문인증의 보안에 대해 살펴보았습니다. 만약 제가 해커라면 SW/HW적으로 공격하기 힘들다는 것을 알게 되면 공격방법을 달리 해보겠습니다. 예를 들면, 영화에서 가끔 나오는 지문의 틀을 떠서 3D 프린터 같은 것으로 지문의 모형을 만들어 지문인증시스템을 공격하는 종류의 것이죠. 이런 공격은 SW/HW적으로 아무리 보안 설계를 한다고 하더라도 막기가 어려운 법입니다. 최근 Android에서는 이런 부분에 대해서도 고려하기 시작했습니다. source.android.com/security/biometric/measure