2) 안드로이드 앱 컴파일링 과정(코틀린)
·
안드로이드 읽어보기/1. Android Platform
우선 컴파일이 뭔지 알아야 한다. 컴파일은 번역기라고 생각하면 됨. 어떤 언어로 구성된 프로그램을 다른 언어의 동일한 프로그램으로 만드는 것을 컴파일 이라고 한다. 그럼 코틀린과 자바 언어가 컴파일 되는 과정을 보자 1. 자바와 코틀린으로 구성된 파일 .java, .kt가 있음 2. 각각의 javac 와 kotlinc에 의해서 자바 바이트 코드로 컴파일 된다. .class 3. 이 자바 바이트 코드는 jvm의 jit컴파일러에 의해서 기계가 이해 할 수 있는 언어로 변경된다. 4. 해독된 기계언어를 메모리에 할당 후, cpu에 의해 실행 일반적인 jvm사용한 컴파일 방식과 달리 안드로이드에서는 DVM(Dalvik Virtual Machine) 과 ART(Android Run Time)를 사용한다. 그 이유..
1) 안드로이드 아키텍쳐
·
안드로이드 읽어보기/1. Android Platform
1. 리눅스 커널 우선 리눅스는 오픈소스 운영체제이다(Os). 즉 cpu 메모리 등의 시스템의 하드웨어와 리소스를 직접 관리 하는 소프트 웨어다. 소프트웨어와 물리적 리소스를 연결하는 역할을 한다고 볼 수 있다. 그 중에 리눅스 커널은 하드웨어와 프로세스를 잇는 핵심 인터페이스이다. 리눅스의 역할은 1) 메모리 관리 2) 프로세스 관리 3) 장치 드라이버 4) 시스템 호출, 보안 이있다. 여기서 안드로이드용 모바일에 필요한, 추가 기능이 들어있다(배터리 관리, 메모리 관리) 2. HAL 하드웨어 관련 계층으로, 하드웨어 업체가 공급해야하는 표준 인터페이스를 정의한다.
0. 시작하기 전에
·
안드로이드 읽어보기/1. Android Platform
안드로이드 개발을 해보면서 느낀 점(비전공자 입장) 안드로이드 개발에 필요한 대부분의 정보들은 Android Developer, Kotlin의 문서들을 통해서 배울 수 있다고 생각한다. 그 외에도 많은 리소스가 있어서 혼자서 독학을 통해서 하나의 어플리케이션을 개발하는 데에는 문제가 없다.(소규모 어플) 다만 어려운 점이 있다면, 나름의 순서를 통해서 알려주기는 하지만 다른 개념들끼리 서로 얽혀있어서 어려웠다. 수학처럼 더하기를 배우면, 이걸 토대로 곱하기를 배우고 각 일련의 과정을 통해 미적분 공학수학 등 까지 순서대로 따라가기만 하면 별 어려움이 없이 이해할 수 있다. 대신에 곱하기를 배우기 전에 더하기를 모르면 곱하기를 아무리 배워도 이해할 수 없다. 그래서 곱하기를 배우기 전에는 더하기에 대한 이..
리워크
'안드로이드 읽어보기/1. Android Platform' 카테고리의 글 목록