Customization


一、启动画面的定制
启动时,引导设备的过程中Android会显示一张图片,如果你想改变它的话,像下面这样做:
1、创建一张320*480的图片splashscreen.jpg
2、使用ImageMagick,splashscreen.jpg转化成splashscreen.r格式
convert screen.jpg screen.r
3、使用rgb2565程序把图片转化为格式
rgb2565 < screen.rgb > screen.565
4、使用fastboot把图片升级到设备中去
fastboot flash splash1 screen.565

二、网络配置
Android把网络配置存储为一个XML资源,在编译时把它编译进去。这个资源就是/frameworks/base/core/res/res/xml/apns.xml。这个文件没有包含任何配置好的APN。你不可以修改这个文件,但可以在编译时通过产品配置APN
每一个网络配置都像下面这样存储在XML元素中:
<apn carrier="T-Mobile US"
         mcc="310"
         mnc="260"
         apn=" wap.voicestream.com"
         user="none"
         server="*"
         password="none"
         proxy=" 216.155.165.50"
         port="8080"
         mmsc="http://216.155.174.84/servlets/mms"
/>

三、编译时的APN配置
为了使用一个代码可以给不同的产品配置不同的APN,需要把一个apns-conf.xml文件添加到产品配置中。注意不要修改平台默认的APN
为了在产品级中配置APN,像下面这样在产品配置(vendor/<vendor_name>/products/myphone-us.mk)中添加一行
PRODUCT_COPY_FILES := vendor/acme/etc/apns-conf-us.xml:system/etc/apns-conf.xml

四、运行是的APN配置
运行时,Androidsystem/etc/apns-conf.xml文件中读取APN
Android支持下面的运行时网络配置方法:
1、自动配置。系统引导时,Android通过SIM检查基于MCCMNC的网络配置并自动配置好所有网络。
2、手动配置。系统提供了网络配置接口,支持在运行时由用户手动选择网络。
3WAPSMS Push配置。网络配置是一个标准的Android资源。你可以在运行时通过一个新的系统资源APK包升级。因此,可以开发一个网络配置服务来监听某一个SMS端口并接收包含网络配置信息的SMS。这个功能与运营商联系紧密,比如SMS的端口号、短信格式等。

五、定制应用程序
为了给不同的产品装入不同的程序,可以像下面这样修改PRODUCT_PACKAGES属性
PRODUCT_PACKAGES := /
 <company_name>Mail /
    <company_name>IM /
 <company_name>HomeScreen /
 <company_name>Maps /
 <company_name>SystemUpdater
包名字应该与每个包在编译时设置的LOCAL_PACKAGE_NAME属性值相同。例如编译上面的Mail程序的Android.mk应该像下面这样
# Build the <company_name>Mail application
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
 
LOCAL_MODULE_TAGS := user development
 
LOCAL_SRC_FILES := $(call all-java-files-under,src,tests)
 
LOCAL_STATIC_JAVA_LIBRARIES := <company_name>login-client
 
# Specify the package name
LOCAL_PACKAGE_NAME := <company_name>Mail
 
# Specify the certificate used to sign the application
LOCAL_CERTIFICATE := vendor/<company_name>/certs/app
 
include $(BUILD_PACKAGE)
 
# Build the login client static library
include $(LOCAL_PATH)/client/Android.mk
注意,桌面只一个普通的Android程序,它的代码和资源可以任意修改。

六、定义浏览器书签
浏览器书签存储在packages/apps/Browser/res/values/strings.xml中。书签被定义为一个名字为“bookmarks”的简单字符串数组
<!-- Bookmarks -->
<string-array name="bookmarks">
    <item>Google</item>
    <item>http://www.google.com/</item>
    <item>Yahoo!</item>
    <item>http://www.yahoo.com/</item>
    <item>MSN</item>
    <item>http://www.msn.com/</item>
    <item>MySpace</item>
    <item>http://www.myspace.com/</item>
    <item>Facebook</item>
    <item>http://www.facebook.com/</item>
    <item>Wikipedia</item>
    <item>http://www.wikipedia.org/</item>
    <item>eBay</item>
    <item>http://www.ebay.com/</item>
    <item>CNN</item>
    <item>http://www.cnn.com/</item>
    <item>New York Times</item>
    <item>http://www.nytimes.com/</item>
    <item>ESPN</item>
    <item>http://espn.go.com/</item>
    <item>Amazon</item>
    <item>http://www.amazon.com/</item>
    <item>Weather Channel</item>
    <item>http://www.weather.com/</item>
    <item>BBC</item>
    <item>http://www.bbc.co.uk/</item>
</string-array>
Android系统会根据不同的平台配置来加载不同的资源文件。要为不同的运营商提供不同的书签的话,把书签放到不同的strings.xml中,然后把这个文件放到一个按移动网络代号命名的资源文件夹下。对书签来说就是Browser/res/values-mccXXX-mncYYY/strings.xml,这里的XXX代表了三个数字的MCCYYY代表了23个数字的MNC值。
Android

七、Email Provider定制
默认的email provider设置存储在packages/apps/Email/res/xml/providers.xml
<!-- Gmail variants -->
    <provider id="gmail" label="Gmail" domain="gmail.com">
        <incoming uri="imap+ssl+://imap.gmail.com" username="$email"/>
        <outgoing uri="smtp+ssl+://smtp.gmail.com" username="$email"/>
    </provider>
    <provider id="googlemail" label="Google Mail" domain="googlemail.com">
        <incoming uri="imap+ssl+://imap.googlemail.com" username="$email"/>
        <outgoing uri="smtp+ssl+://smtp.googlemail.com" username="$email"/>
    </provider>
    <provider id="google" label="Google" domain="google.com">
        <incoming uri="imap+ssl+://imap.gmail.com" username="$email"/>
        <outgoing uri="smtp+ssl+://smtp.gmail.com" username="$email"/>
    </provider>
    <provider id="android" label="Android" domain="android.com">
        <incoming uri="imap+ssl+://imap.gmail.com" username="$email"/>
        <outgoing uri="smtp+ssl+://smtp.gmail.com" username="$email"/>
    </provider>
 
 
    <!-- Common US providers -->
    
    <provider id="aim" label="AIM" domain="aim.com">
        <incoming uri="imap://imap.aim.com" label="IMAP" username="$email"/>
        <outgoing uri="smtp://smtp.aim.com:587" username="$email"/>
    </provider>
    <provider id="aol" label="AOL" domain="aol.com">
        <incoming uri="imap://imap.aol.com" label="IMAP" username="$email"/>
        <outgoing uri="smtp://smtp.aol.com:587" username="$email"/>
    </provider>
    <provider id="comcast" label="Comcast" domain="comcast.net">
        <incoming uri="pop3+ssl+://mail.comcast.net" username="$user"/>
        <outgoing uri="smtp+ssl+://smtp.comcast.net" username="$user"/>
    </provider>
    <provider id="compuserve" label="CompuServe" domain="cs.com">
        <incoming uri="imap://imap.cs.com" username="$user"/>
        <outgoing uri="smtp://smtp.cs.com" username="$user"/>
    </provider>
    <provider id="dotmac" label=".Mac" domain="mac.com">
        <incoming uri="imap+tls://mail.mac.com" username="$email"/>
        <outgoing uri="smtp+tls://smtp.mac.com" username="$email"/>
    </provider>
    <provider id="earthlink" label="Earthlink" domain="earthlink.net">
        <incoming uri="pop3://pop.earthlink.net" username="$email"/>
        <outgoing uri="smtp://smtpauth.earthlink.net:587" username="$email"/>
    </provider>
    <provider id="juno" label="Juno" domain="juno.com">
        <incoming uri="pop3://pop.juno.com" username="$user"/>
        <outgoing uri="smtp://smtp.juno.com" username="$user"/>
    </provider>
    <provider id="live" label="Windows Live Hotmail Plus" domain="live.com" note="@string/provider_note_live">
        <incoming uri="pop3+ssl+://pop3.live.com" username="$email"/>
        <outgoing uri="smtp+tls+://smtp.live.com" username="$email"/>
    </provider>
    <provider id="hotmail" label="Windows Live Hotmail Plus" domain="hotmail.com" note="@string/provider_note_live">
        <incoming uri="pop3+ssl+://pop3.live.com" username="$email"/>
        <outgoing uri="smtp+tls+://smtp.live.com" username="$email"/>
    </provider>
    <provider id="msn" label="Windows Live Hotmail Plus" domain="msn.com" note="@string/provider_note_live">
        <incoming uri="pop3+ssl+://pop3.live.com" username="$email"/>
        <outgoing uri="smtp+tls+://smtp.live.com" username="$email"/>
    </provider>
    <provider id="mobileme" label="MobileMe" domain="me.com">
        <incoming uri="imap+tls://mail.me.com" username="$email"/>
        <outgoing uri="smtp+tls://smtp.me.com" username="$email"/>
    </provider>
    <provider id="netzero" label="NetZero" domain="netzero.com">
        <incoming uri="pop3://pop.netzero.com" username="$user"/>
        <outgoing uri="smtp://smtp.netzero.com" username="$user"/>
    </provider>
    <provider id="sbcglobal" label="SBC Global" domain="sbcglobal.net">
        <incoming uri="pop3://pop.sbcglobal.yahoo.com" username="$email"/>
        <outgoing uri="smtp://smtp.sbcglobal.yahoo.com" username="$email"/>
    </provider>
    <provider id="verizon" label="Verizon" domain="verizon.net">
        <incoming uri="pop3://incoming.verizon.net" username="$user"/>
        <outgoing uri="smtp://outgoing.verizon.net" username="$user"/>
    </provider>
    <provider id="yahoo" label="Yahoo Plus" domain="yahoo.com" note="@string/provider_note_yahoo">
        <incoming uri="pop3+ssl+://plus.pop.mail.yahoo.com" username="$user"/>
        <outgoing uri="smtp+ssl+://plus.smtp.mail.yahoo.com" username="$user"/>
    </provider>
  
    <!-- Common UK providers -->
    
    <provider id="aol-uk" label="AOL" domain="aol.co.uk">
        <incoming uri="imap+ssl+://imap.uk.aol.com" label="IMAP" username="$user"/>
        <outgoing uri="smtp+ssl+://smtp.uk.aol.com" username="$user"/>
    </provider>
    <provider id="bt" label="BT Internet" domain="btinternet.com">
        <incoming uri="pop3://mail.btinternet.com" username="$email"/>
        <outgoing uri="smtp://mail.btinternet.com" username=""/>
    </provider>
    <provider id="tiscali" label="Tiscali" domain="tiscali.co.uk">
        <incoming uri="pop3://pop.tiscali.co.uk" username="$email"/>
        <outgoing uri="smtp://smtp.tiscali.co.uk" username="$email:wq"/>
    </provider>
    <provider id="yahoo-uk" label="Yahoo" domain="yahoo.co.uk" note="@string/provider_note_yahoo_uk">
        <incoming uri="pop3+ssl+://pop.mail.yahoo.co.uk" username="$user"/>
        <outgoing uri="smtp+ssl+://smtp.mail.yahoo.co.uk" username="$user"/>
    </provider>
    
    <!-- Common Germany providers -->
    
    <provider id="freenet" label="Freenet" domain="freenet.de">
        <incoming uri="pop3://mx.freenet.de" username="$user"/>
        <outgoing uri="smtp+ssl://mx.freenet.de" username="$email"/>
    </provider>
    <provider id="gmx" label="GMX" domain="gmx.de">
        <incoming uri="pop3+tls://pop.gmx.net" username="$email"/>
        <outgoing uri="smtp+tls://mail.gmx.net" username="$email"/>
    </provider>
    <provider id="T-Online" label="T-Online" domain="t-online.de" note="@string/provider_note_t_online">
        <incoming uri="pop3://popmail.t-online.de" username="$email"/>
        <outgoing uri="smtp://smtpmail.t-online.de" username="$email"/>
    </provider>
    <provider id="web.de" label="Web.de" domain="web.de">
        <incoming uri="pop3+tls://pop3.web.de" username="$user"/>
        <outgoing uri="smtp+tls://smtp.web.de" username="$user"/>
    </provider>
</providers>
八、平台主题
系统级的风格定义在framework/base/core/res/res/values/styles.xml中,动画定义在framework/base/core/res/res/anim/

你可能感兴趣的:(user,ssl,domain,email,bookmarks)