[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
架構
Android使用的是Java,因此需要一個Java platform,意思是需要有能力執行Java的bytecode。而Java platform的架構為:
。Java bytecode
。JVM (Java Virtual Machine)
。OS
JVM是用來執行bytecode,因此使用者開發的程式,最後需轉為bytecode。而開發會需要的library,在Java中叫Jave Runtime Library。JVM加 Jave Runtime Library 就是JRE (Java Runtime Environment),因其完整的提供了執行Java的環境。
換句話說
Java是不變的,該怎麼寫就怎麼寫。Java bytecode被換成了Dalvik executable (dex),JVM則變為Dalvik。而Java Runtime Library包括了Java的標準函式庫 (當然也轉成了dex)。另外就其手機平台的特性,也提供了像GPS,telcom等的相關元件。相同的,Android library加Dalvik也有所謂的Android runtime。
重點是,bytecode與dex並不共通!
SDK
2009年5月,Google release了Android 1.5 SDK。
SDK主要是用來設計應用程式,而SDK則包含了設計所需要的工具程式,包括library。這次的1.5將API level提升至3,並把1.1版裡的Maps library拿到 (過去的build system才需要)。因此,1.5將沒有任何的external library。
API level是用來在安裝前決定一個應用程式是否與系統相容。這個level將記錄在menifast檔裡,意思是系統所需最低的API level,設定為android:minSdkVersion屬性。因此,要大於或等於這個level才可安裝。有新版,就要做相容性,多測就對啦!
System Image
1.5所含的system image包括以下內建的應用程式:
- Alarm Clock
- Browser
- Calculator
- Camcorder
- Camera
- Contacts
- Custom Locale (developer app)
- Dev Tools (developer app)
- Dialer
- Gallery
- Messaging
- Music
- Settings
- Spare Parts (developer app)
內建的Locale:
- Chinese, PRC (zh_CN)
- Chinese, Taiwan (zh_TW)
- Czech (cs_CZ)
- Dutch, Netherlands (nl_NL)
- Dutch, Belgium (nl_BE)
- English, US (en_US)
- English, Britain (en_GB)
- English, Canada(en_CA)
- English, Australia (en_AU)
- English, New Zealand (en_NZ)
- English, Singapore(en_SG)
- French, France (fr_FR)
- French, Belgium (fr_BE)
- French, Canada (fr_CA)
- French, Switzerland (fr_CH)
- German, Germany (de_DE)
- German, Austria(de_AT)
- German, Switzerland (de_CH)
- German, Liechtenstein (de_LI)
- Italian, Italy (it_IT)
- Italian, Switzerland (it_CH)
- Japanese (ja_JP)
- Korean (ko_KR)
- Polish (pl_PL)
- Russian (ru_RU)
- Spanish (es_ES)
to be Continued.....如果project沒被砍的話....
留言列表