Android: Modding & Hacking - netstudent

14 downloads 266 Views 219KB Size Report
Dec 12, 2012 ... 2012/12/12. Pag. 2 whitone CorsoAvanzatoLinux 2012. What is Android? A mobile-centric Linux distro.
Android: Modding & Hacking whitone 2012/12/12

What is Android? A mobile-centric Linux distro ●

patched Linux kernel ●





Pag.

Bionic Libc

Dalvik Java VM App Framework

2

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Architecture

Pag.

3

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Version Usage

Pag.

4

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android kernel patches low memory killer Viking Killer

wake lock /sys/power/wake_lock

early suspend /sys/power/request_state

timed gpio

userspace driver Pag.

5

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android kernel patches ashmem cache

pmem

contiguous malloc

binder IPC

ram console /proc/last_kmsg Pag.

6

2012/12/12

android debug bridge whitone CorsoAvanzatoLinux 2012

Android kernel patches

… more on:

linux-kernel-source / drivers / staging / android

Pag.

7

2012/12/12

whitone CorsoAvanzatoLinux 2012

Bionic Libc

embedded optimized no fully POSIX not compatible with GNU Libc native programs must linked to this library

Pag.

8

2012/12/12

whitone CorsoAvanzatoLinux 2012

Dalvik Java VM register-based architecture Java bytecode (.class)

Dalvik Executable (.dex)

low memory requirements Pag.

9

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Applications Android Packages (APK) installation via: ●

Google Play Store storage (usb hd, sd, ...) ●



Pag.

adb

10

2012/12/12

whitone CorsoAvanzatoLinux 2012

File System /system

root of a typical linux tree

/data

apps data

/cache

apps cache

/mnt

storage Pag.

11

2012/12/12

whitone CorsoAvanzatoLinux 2012

File System in /system: bin, etc, lib, usr

framework

application framework

app

system apps

media

bootanimation.zip Pag.

12

2012/12/12

whitone CorsoAvanzatoLinux 2012

File System … also in /system: build.prop fonts

roboto (android > 4.0)

xbin

optional utilities

vendor

vendor addons Pag.

13

2012/12/12

whitone CorsoAvanzatoLinux 2012

File System in /data: app

user apps

data

user data com.android.providers.settings

dalvik-cache dex files

Pag.

14

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Debug Bridge adb install android-tools or android-tools-adb

Android SDK available also for Mac and Win Pag.

15

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Debug Bridge adb shell limited standard cmds getprop, setprop netcfg input am

busybox Pag.

16

2012/12/12

whitone CorsoAvanzatoLinux 2012

Settings Database android_metadata language

system volume

secure lock

SQLite 3 Pag.

17

2012/12/12

whitone CorsoAvanzatoLinux 2012

Simple Boot Animation

Pag.

18

2012/12/12

whitone CorsoAvanzatoLinux 2012

Simple Boot Animation

Pag.

19

2012/12/12

whitone CorsoAvanzatoLinux 2012

Android Toolchain Android NDK

$ arm-linux-androideabi- Pag.

20

2012/12/12

whitone CorsoAvanzatoLinux 2012

Useful Links Official Android Dev

developer.android.com

XDA Developers

www.xda-developers.com

Android NDK

developer.android.com/sdk/ndk/index.html

Pag.

21

2012/12/12

whitone CorsoAvanzatoLinux 2012