본문 바로가기
[android 보안] 안드로이드 보안 모델 #1 [android 보안] 안드로이드 보안 모델 출처 : Android Security Internals 1장개요 목차 1. 안드로이드 보안 모델 1.1. 안드로이드의 아키텍처 1.1.1. 리눅스 커널 1.1.2. 네이티브 사용자 공간 1.1.3. 달빅 가상 머신 1.1.4. 자바 런타임 라이브러리 1.1.5. 시스템 서비스 1.1.6. 프로세스 간 통신 1.1.7. 바인더 1.1.8. 안드로이드 프레임워크 라이브러리 1.1.9. 앱 1.2. 안드로이드 보안 모델 1.2.1. 앱 샌드박스 1.2.2. 권한 1.2.3. IPC 1.2.4. 코드 서명과 플랫폼 키 1.2.5. 다중 사용자 지원 1.2.6. SELinux 1.2.7. 시스템 업데이트 1.2.8. 검증된 부트 1.3. 요약 1.1. 안드로이드의 아.. 2018. 4. 14.
[android] Google Play Service 는 나쁜놈이었다. Google Play Service 는 나쁜놈이었다. Google Play Service 가 현재( 2015-09-12 기준 ) 7.x 버전까지 나왔다. 그런데 이 구글 플레이 서비스가 5.0 ~ 6.5 미만까지는 골치덩어리였다. 여러가지 기능들이 추가되어 편리하게 구글이 제공하는 기능, 서비스들을 제공받는 것은 좋았지만,dex 파일의 method 갯수 제약 측면에서 노답인 상황이었다. 한 dex 파일은 65k 개의 method 만 가질 수 있는데, Google Play Service 5.0 버전에서는 이 녀석 혼자 20k 이상의 method 를 가지고 있다. 그래서 구글 플레이 서비스 library 를 사용하면서다른 3rd party library 를 사용하면method limit 에 걸려 문제가 될 .. 2015. 9. 16.
Android 놓치기 쉬운 안드로이드 성능 향상 팁 Android 놓치기 쉬운 안드로이드 성능 향상 팁 출처 : http://developer.android.com/training/articles/perf-tips.html 아래 두가지 규칙이 모든 성능 향상의 기본 법칙이다. 1. 필요 없는 일은 하지 말아라. 2. 피할 수 있다면 memory 를 잡는 일을 하지 말아라. 참고로 micro-optimization 을 한다고 해도 모든 단말에서 똑같은 성능향상이 있는 것이 아니다.VM 의 종류, Processor 의 종류에 따라서도 조금씩 다르고, JIT 의 유무에 따라서도 다르다. 아래 항목들은 대부분의 환경에서 최적화시킬 수 있는 micro-optimization 기술을 소개한다. 쓸 데 없이 객체를 생성하지 말자. GC 를 유발하며, GC 는 conc.. 2014. 4. 3.
[android] ART ( android runtime ) 이란? (2017.08. updated) [android] ART ( android runtime ) 이란? - 2017. 8 내용 보강 ART, Android Runtime from Kitkat( 4.4 ) 기존의 안드로이드에서는 DEX file 을 Dalvik machine(JVM) 위에 올리는 방식이었는데,Kitkat ( 4.4 ) 부터는 ART(Android Runtime) machine 위에서 OAT file 을 돌리는 것이 가능해졌다.기존의 dex 파일을 dex2oat 라는 converter 를 이용해서 converting 하여 생성하고 run 한다. Dalvik 은 bytecode 를 interpret 한다.그러면서 사용자가 앱을 실행할 때마다 성능 개선이 있을 수 있는 부분에 대해 네이티브 코드로 변환을 한다.이를 JIT( jus.. 2014. 1. 22.
[android] 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. 안드로이드, 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. Dalvik VM 은 런타임에 다른 dex 파일을 로딩할 수 있다.dex 파일 로딩은 일반적으로 사용되는 방법은 아니다. 하지만, 다음과 같은 경우에 필요하다. 1. 64,000개 이상의 메서드를 포함한 앱의 경우 빌드에 문제가 발생할 수 있다. 이 경우 여러 개의 dex 파일로 나누어서 dex 를 동적으로 로딩해야 한다. 2. 런타임 중 동적으로 기능이 확장되는 프레임워크 형태의 앱은 커스텀 클래스 로딩 기능을 활용할 수 있다. 여러개의 dex 로 나누어 빌드 하는 경우는 이클립스 ADT 상에서 빌드될 수 없고, Ant 빌드 스크립트를 활용하여 빌드해야 한다. DexClassLoader dcl = new DexClassLoader( .. 2013. 12. 16.
반응형