Click here to load reader
Upload
amable
View
82
Download
0
Embed Size (px)
DESCRIPTION
Linux/UNIX Programming Linux on Android 문양세 강원대학교 IT 대학 컴퓨터과학전공. 안드로이드 정의. 안드로이드는 운영체제 (operating system), 미들웨어 (middleware), 핵심 애플리케이션 들 (key applications) 을 포함하고 있는 모바일 디바이스를 위한 소프트웨어 스택 (software stack) 이다 . - PowerPoint PPT Presentation
Citation preview
Discrete Mathematics
Linux/UNIX Programming
Linux on Android
IT (operating system), (middleware), (key applications) (software stack).
, , API , , , (OSS: open source software) . 2
3
4
, (contact), , , , SMS app . app Java . app layer .
(1/3)5
App / .Core system serviceHardware serviceNative app , API .Java , C/C++ .
(2/3)6
Core system serviceActivity manager: life cycle , navigation history( ) .View system: , , , () .Content provider: .Resource manager: (strings, graphics ) .Notification Manager: Status bar .
(3/3)7
Hardware serviceLocation managerTelephony managerBluetooth serviceWiFi service, USB service, sensor service
8
C/C++ . . C : BSD libc : MPEG4, H.264, JPG Surface : 2D 3D SGL(2D graphics engine), 3D SQLite: Lightweight
9
(Dalvik) Core , app . CPU interpret, .() Java .class .jar dex .
10
(, , , ) 2.6
(revisit)11
12 13
.adb s emulator-5554 shell5554 .
14
.adb s serial_number shell
(1/7)15
(2/7)16
(3/7)17
(4/7)18
(5/7)19
(6/7)20
(7/7)21
apk ~ (1/2)22
, , .
native applicationsNative apk: /system/app apk ~ (2/2)23
third party applications(, application )
Third party apk: /data/app app .App , . , app . virtual machine . app user ID . permission scheme . App 24
User ID