android 量產軟體改動資訊(持續更新)

來源:互聯網
上載者:User

關鍵詞:android 4.0預設語言藍芽名稱
MTP名稱預設時區關於平板電腦 核心版本號碼
平台資訊:
核心:linux2.6/linux3.0
系統:android/android4.0 
平台:S5PV310(samsungexynos4210)

作者:xubin341719(歡迎轉載,請註明作者)

1、開關機logo;

2、使用者模式、工程模式;

3、更改預設語言;

5、更改藍芽名稱;

6、更MTP名稱;

7、更改“關於平板電腦”中的資訊;

8、更改預設時區;

………………

以三星平台為基礎,如果是其它平台,只做參考

        下面只是一些做訂單時候經常要改動的地方,沒什麼技術含量,不過我覺得這一部分也比較重要,研發出來的東西,賣出去換回錢,才是到我們最大的回報。這一部分會持續更新,指不定一個“極品”的客戶要更改什麼不靠譜的東西,記錄下來,節省大家的時間,知道在那個地方改就行了。

1、開關機logo

       現在好多公司就是個皮包公司,自己不做研發,在外面買,開機畫面要做成他們特有的,所以這一點在工作中用的也是比較多的。中國的產品,那叫“泛濫”呀。

這篇文章中對logo有詳細描述:android logo:核心、android開機動畫

2、使用者模式、工程模式

        產品出去的時候,要用使用者模式,這時串口終端是不能操作的,只能顯示。三星平台有一個問題就是,在工程模式下,如果系統有點卡,會有一個紅色的邊框出現,這個問題我們老大叫它“BUG”,這個沒法跟他去理論,總之不應該出現的東西都是BUG,那就轉換成user模式,把這個問題解了。

這篇文章中有關於usr eng的描述:android 4.0 編譯模式 eng -- > user 時遇到的問題

3、更改預設語言

          做產品服務要周道,不能出到別的國家的東西,一開機會是中文的,那就有點不太友好了,英文好多地方可以接受,可是現在中文還是沒有那麼廣泛應用的。其實android預設是En的,我們內單的就是改過來的。下面看我們怎麼把預設的英文改成中文,為沒過“CET4”的同學服務。

android/device/samsung/smdk4x12/full_smdk4x12.mk

PRODUCT_LOCALES := zh_CN \       en_US \       zh_TW \       en_GB \       fr_FR \       it_IT \       cs_CZ \       de_DE \       da_DK \       el_GR \

用那個語言,把它放到早前面,就可以,如:

zh_CN:中文簡體

zh_TW:中文繁體

en_US:英文(美國)

這篇文章中有對應的 語言地區Android 地區語言和簡寫對照表

5、更改藍芽名稱

android/external/bluetooth/bluez/src/main.c

static void init_defaults(void){        /* Default HCId settings */        memset(&main_opts, 0, sizeof(main_opts));        main_opts.mode  = MODE_CONNECTABLE;        main_opts.name  = g_strdup("W42");//更改這裡的名稱        main_opts.discovto      = DEFAULT_DISCOVERABLE_TIMEOUT;        main_opts.remember_powered = TRUE;        main_opts.reverse_sdp = TRUE;        main_opts.name_resolv = TRUE;        main_opts.link_mode = HCI_LM_ACCEPT;        main_opts.link_policy = HCI_LP_RSWITCH | HCI_LP_SNIFF |                                                HCI_LP_HOLD | HCI_LP_PARK;        if (gethostname(main_opts.host_name, sizeof(main_opts.host_name) - 1) < 0)                strcpy(main_opts.host_name, "noname");}

6、更MTP名稱

android/system/vold/Volume.cpp

int Volume::formatVol() {    if (getState() == Volume::State_NoMedia) {        errno = ENODEV;        return -1;    } else if (getState() != Volume::State_Idle) {        errno = EBUSY;        return -1;    }    if (isMountpointMounted(getMountpoint())) {        SLOGW("Volume is idle but appears to be mounted - fixing");        setState(Volume::State_Mounted);        // mCurrentlyMountedKdev = XXX        errno = EBUSY;        return -1;    }    bool formatEntireDevice = (mPartIdx == -1);    char devicePath[255];    char *label = NULL;    dev_t diskNode = getDiskDevice();    dev_t partNode = MKDEV(MAJOR(diskNode), (formatEntireDevice ? 1 : mPartIdx));    setState(Volume::State_Formatting);    int ret = -1;    // Only initialize the MBR if we are formatting the entire device    if (formatEntireDevice) {        sprintf(devicePath, "/dev/block/vold/%d:%d",                MAJOR(diskNode), MINOR(diskNode));        if (initializeMbr(devicePath)) {            SLOGE("Failed to initialize MBR (%s)", strerror(errno));            goto err;        }    }    sprintf(devicePath, "/dev/block/vold/%d:%d",            MAJOR(partNode), MINOR(partNode));    if (mDebug) {        SLOGI("Formatting volume %s (%s)", getLabel(), devicePath);    }label="W42";//更改這個名稱    if (Fat::format(devicePath, 0, label)) {        SLOGE("Failed to format (%s)", strerror(errno));        goto err;    }    ret = 0;err:    setState(Volume::State_Idle);    return ret;}

7、更改“關於平板電腦”中的資訊

(1)、型號

android/device/samsung/smdk4x12/full_smdk4x12.mk

PRODUCT_MANUFACTURER := full_smdk4x12PRODUCT_BRAND := full_smdk4x12PRODUCT_MODEL := W42(QuadCore)

(2)、核心版本

這個有點不太好找,一個同事跟我說的,核心路徑為:

kernel/scripts/mkcompile_h

# Generate a temporary compile.h( echo /\* This file is auto generated, version $VERSION \*/  if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi    echo \#define UTS_MACHINE \"$ARCH\"  echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"  echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"  //更改者兩個echo的值  echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"  echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\") > .tmpcompile

(3)、版本號碼

android/out/target/product/w42/system/build.prop

ro.build.display.id=w42.eng.tim.20121224.093047ro.build.version.incremental=eng.tim.20121224.093047

其實在build.prop目錄中有許多,關於系統的資訊,有興趣的話可以看下。

8、更改預設時區

除的語言外,外單產品預設時區也要改動。找到相應的system.prop,加入下面語句。

android/device/samsung/smdk4x12/system.prop

#default time zonepersist.sys.timezone=Asia/Shanghai

9、在案頭放一表徵圖,點選連結到一指定網址

10、把應用程式的表徵圖預設放到案頭

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.