본문 바로가기
[android] Lazy loading dex files [android] Lazy loading dex files https://medium.com/@Macarse/lazy-loading-dex-files-d41f6f37df0e -65K method limit 을 넘어서면 multi dex 가 필요하다. -LOS 이전에서 MultiDex 를 사용하면 startup time 에 delay 가 있었다. -MultiDex lib source code 를 보면, 거기서 하는 일은. classloader 를 이용하여 추가 dex file 를 app 시작 시 로드하도록 프로그래밍 되어 있다.왜 app 시작시 로드를 할까? 예를 들어 payment 에 관련된 lib 이 있다면 이런 녀석들은 사용되지 않을 수도 있는데.. 사용해도 나중에 로드해도 될텐데 말이다. -lazy.. 2019. 1. 30.
[android 보안] 패키지 관리 #1 [android 보안] 패키지 관리 #1 출처 : Android Security Internals 3장개요 목차 3. 패키지 관리 3.1. 안드로이드 앱 패키지 구성 3.2. 코드 서명 3.2.1. 자바 코드 서명 3.2.2. 안드로이드 코드 서명 3.3. APK 설치 과정 3.3.1. 앱 패키지와 데이터의 위치 3.3.2. 활성화된 컴포넌트 3.3.3. 지역 패키지의 설치 3.3.4. 패키지 업데이트 3.3.5. 암호화된 APK 의 설치 3.3.6. 포워드 락 3.3.7. 암호화된 앱과 구글 플레이 3.4. 패키지 검증 3.4.1. 패키지 검증을 위한 안드로이드 지원 기능 3.4.2. 구글 플레이 구현 3.5. 요약 3.1. 안드로이드 앱 패키지 구성 -APK 는 자바 JAR 를 확장한 포맷이며, JA.. 2018. 4. 18.
[android 보안] 안드로이드 보안 모델 #2 [android 보안] 안드로이드 보안 모델 #2 1.2. 안드로이드 보안 모델 -시스템의 나머지 부분과 마찬가지로 안드로이드의 보안 모델은 리눅스 커널이 제공하는 보안기능을 활용한다.다중 사용자 시스템인 리눅스는 프로세스들을 서로 격리시키듯이 사용자 리소스들도 서로 격리시킬 수 있다. -전통적인 리눅스에서는 시스템에 로그인해서 셸을 통해 명령을 실행하는 실제 사용자나 백그라운드에서 실행되는 시스템 서비스에 전용 UID 를 부여했다.그러나 안드로이드는 스마트폰을 위해 만들어졌고, 또 모바일폰은 개인용 기기이기 때문에 시스템에 여러 사용자를 등록할 필요가 없다.사용자는 스마트폰의 소유자를 한 명으로 간주하고, 대신 UID 는 앱을 구분하는 용도로 사용한다. ** 1.2.1. 앱 샌드박스 -안드로이드는 앱을.. 2018. 4. 15.
[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] odex 에 대해 알아보자. [android] odex 에 대해 알아보자. -Android 앱은 ZIP 형태로 압축된 apk 에 담겨져 있다.이 apk 파일을 압축해제해보면 classes.dex 라는 파일이 있는데, 이 파일에 code 가 들어 있다.이 파일이 Dalvik JVM 에 의해 parse 가 되고, Dalvik cache 에 저장이 된다. ( /data/dalvik-cache/ 폴더에 저장 )parse & cache save 과정 때문에 최초 실행은 조금 오래 걸릴 수 있는 것이다. -odex 는 classes.dex 의 pre-processed 된 버전이라고 볼 수 있다.즉 Dalvik 이 바로 실행될 수 있는 형태의 dex 라고 보면 된다.앱이 odex 화되면, apk 압축파일에서 classes.dex 는 제거되고, .. 2018. 1. 24.
[android] Annotation Processing 에 대한 이야기 [android] Annotation Processing 에 대한 이야기 http://hannesdorfmann.com/annotation-processing/annotationprocessing101 The Basics -annotation processing 은 compile time 에 annotation 을 확인하여 어떤 action 을 하는 것을 이야기한다. -annotation processing 은 Java 5 부터 가능하다.그러나 사용할만한 API 는 Java 6 에 release 되었다. -annotation processor 는 java code 나 byte code 를 input 으로 받아서 java 파일로 output 을 생성한다.이 생성된 output 은 compile time 에.. 2017. 7. 31.
Java SQLite Tutorial 1. JDBC jar 다운받기 https://bitbucket.org/xerial/sqlite-jdbc/downloads 2. Classpath 에 jar 연결하기. 3. DB and table creation Connection conn = null; Statement stmt = null; try { Class.forName( "org.sqlite.JDBC" ); conn = DriverManager.getConnection( "jdbc:sqlite:test.db" ); stmt = conn.createStatement(); String sql = "CREATE TABLE test " + "(_id INT PRIMARY KEY NOT NULL," + " name TEXT NOT NULL, " + " .. 2014. 9. 16.
Android 와 DI ( Dependency Injection ) 이야기. Android와 DI ( Dependency Injection ) 이야기 의존 관계 주입 ( dependency injection ) 을 활용한 프로그래밍에서는 객체가 자신이 사용할 객체를 스스로 선택하지 않고, 제 3의 객체가 사용할 객체를 주입한다.이를 의존 관계 역전 ( Inversion of control ) 이라고 부른다. DI 의 이점은? 1. 객체의 생성 주기를 제어한다. 이전에는 객체의 생성 지점 통제를 위해 singleton 패턴을 직접 구현했다. ( private 생성자, getInstance() method 등 ) DI 프레임워크에서는 ApplicationContext, Injector, ObjectGraph 등으로 불리는 통합 객체 저장소에 일반적인 객체 등록하고, 이를 사용하는 쪽.. 2014. 3. 23.
[android] admob install guide android, admob install guide 이는 jar 파일로 admob 을 적용할 경우에 대한 guide 이다. - 특별한 이유가 없다면 xml 로 정의하는 것이 편리하다... xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"/> activity, adactivity, AdMob, admob install guide, ads:adSize, ads:adUnitId, ads:loadAdOnCreate, ads:testDevices, AdView, Android, android.permission.ACCESS_NETWORK_STATE, android.permission.INTERNET, android:configChanges, com.go.. 2014. 1. 20.
반응형