본문 바로가기

모바일 APP79

안드로이드 운영체제의 구조 리눅스 커널 (Linux Kernel) : 리눅스에 기반을 둔 오픈소스 소프트웨어 스택 하드웨어 추상화 레이어 (hardware abstraction layer, HAL) : 하드웨어의 추상화 계층으로, 상위의 자바 API프레임워크에서 하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공 안드로이드 런타임 (Android runtime): ART라고 하며 앱을 실행하는 역할을 한다. 안드로이드 5.0버전 이전에는 Dalvik 안드로이드 5.0버전 이상부터는 ART로 변경됨 안드로이드 앱은 DEX파일로 빌드 되는데 이 DEX 파일을 해석해서 실행하는 주체가 바로 ART이다. 자바에서 개발자가 소스코드를 작성한 후 컴파일하면 클래스 파일이 만드어진다. 이클래스 파일을 자바 가상 머신에서 실행한다. 그러나 .. 2021. 11. 30.
안드로이드 특징 안드로이드는 리눅스 커널을 기반으로 구글에서 제작한 모바일 운영체제이다. 구글은 2008년 안드로이드 1.0 버전을 출시한 이후 전 세계 모바일 플랫폼 시장의 70~80%를 차지하고 있다. - 안드로이드는 공개 운영체제인 리눅스를 기반으로 한다. - 안드로이드 앱은 자바나 코틀린 언어를 이용해 개발한다. - 안드로이드 운영체제의 주요 부분과 라이브러리, 구글에서 만든 앱등의 코드는 대부분 공개되어 있다. - 안드로이드 스마트폰은 구글뿐 아니라 여러 제조업체에서 만들수 있다. - 안드로이드 앱은 구글의 플레이 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포가 가능하다. - 안드로이드 플랫폼에서는 모든 응용 프로그램이 평등하다는 사상으로 모바일에 기본으로 탑재된 앱과 개발자가 만든 앱이 똑같은 환경에서 똑.. 2021. 11. 30.
앱 서명 2가지 방법이 있다. 1. 서명 키를 개발자가 직접 만들어 관리하는 방법 개발자가 만든키로 앱을 서명하고 이를 Play 스토어에 등록하여 사용자에게 전달한다. 즉 개발자가 만든 서명키 1개로 앱을 관리한다. 그러나 이렇게 하면 만에 하나 개발자가 키를 분실하거나 다른 누군가 악의적으로 복사해서 사용하면 대처할 방법이 없다. 즉, 앱을 업데이트하려면 이전 버전과 똑같은 키로 서명을 해야하는데 서명할 수가 없어서 업데이트를 하지 못한다. 만약 새로운 키를 만들어서 서명하면 완전히 새로운 앱으로 등록된다. 2. 구글 Play에서 관리하는 방법 개발자가 만들고 관리하는 업로드 키 (위에서 설명한 기존 서명키)와 구글 Play가 만드는 앱 서명키가 있다. 개발자가 키를 만들어 앱을 서명하지만 이키는 앱을 구글 P.. 2021. 11. 28.
배포 파일 APK (Android application package) 안드로이드의 전통적인 배포파일로서 컴파일된 코드와 리소스를 묶어서 키로 서명한 것 AAB (Android app bundle) 2018년 구글 IO에서 발표한 새로운 안드로이드 앱 배포 파일 (왼쪽) 이전 APK를 통해 기기에 전달되는 모든 리소스의 예. (오른쪽) 기기에 필요한 것만 제공하는 Dynamic Delivery의 예 AAB 파일은 Play 스토어에 올리면 최적화된 APK를 대신 만들어 준다. 이때 앱을 내려받는 기기에 맞는 파일만 포함하므로 앱의 크기가 줄어드는 효과가 있다. 구글에서는 2021년 8월부터 play 스토어에 새로운앱을 게시할 때 AAB를 사용해야 한다고 발표했다. 2021. 11. 28.
반응형