/********************************************************************************************
* author:conowen@大 鍾
* E-mail:conowen@hotmail.comjava
*site:http://www.idealpwr.com/
android
*深圳市動力思惟科技發展有限公司
* http://blog.csdn.net/conowen
* 注:本文爲原創,僅做爲學習交流使用,轉載請標明做者及出處。
app
********************************************************************************************/ide
一、添加apk到system.img學習
1.一、添加第三方apk的package到system.imgui
首先把整個apk的源碼包copy到\packages\apps,要注意代碼中的layout文件夾中的XML不能有中文字樣,不然會提示編碼errors,編譯不能經過,能夠用@string的方法解決,這原本就是代碼規範。編碼
而後,編輯如下文檔便可。
idea
\build\target\product\generic_no_telephony.mkspa
或者.net
\build\target\product\generic.mk文件
依照狀況而定
[java] view plaincopy
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
Provision \
Protips \
QuickSearchBox \
Settings \
Sync \
SystemUI \
Updater \
CalendarProvider \
SyncProvider
1.二、添加第三方apk到system.img
其實就是一個copy操做,把apk從某一個路徑(如:packages/apk/ideal_apk路徑下)copy到/system/app或者data/app的路徑下面。而後系統編譯到最後,再打包成system.img。
修改方法:
到相應機器的devices目錄下找到一個有PRODUCT_COPY_FILES字眼的mk文件,添加本身的apk路徑進去便可。
如tcc892X的SDK是如下文件
\device\telechips\tcc892x-common\device_tcc892x-common.mk
[java] view plaincopy
PRODUCT_COPY_FILES += \
packages/apk/ideal_apk/tv2.apk:system/app/tv2.apk \
packages/apk/ideal_apk/ViewLog.apk:system/app/ViewLog.apk \
packages/apk/ideal_apk/WeatherPro_2.2.1_liqucn.com.apk:system/app/WeatherPro_2.2.1_liqucn.com.apk \
packages/apk/ideal_apk/Wol_Magic.apk:system/app/Wol_Magic.apk \
packages/apk/ideal_apk/RockPlayer-universal-1.7.6.apk:system/app/RockPlayer-universal-1.7.6.apk \
packages/apk/ideal_apk/VPlayer.apk:system/app/VPlayer.apk
或者全志A13的方案以下
\android4.0\device\softwinner\nuclear-dds-t729\dds_t729.mk
[cpp] view plaincopy
# pre-installed apks
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*.apk,$(LOCAL_PATH)/apk,system/preinstall)
這樣就能夠把apk目錄下的apk文件copy到system/preinstall目錄下,到時候系統初次開機時會把apk安裝到userdata分區下。
二、更改Android系統默認語言
在\build\target\product目錄,找到full_base.mk或者full.mk文件,
添加以下語句
中文:
[cpp] view plaincopy
PRODUCT_LOCALES := zh_CN
英文:
[cpp] view plaincopy
PRODUCT_LOCALES := en_US
如:
[cpp] view plaincopy
# Overrides
PRODUCT_NAME := full
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_MODEL := Full Android
PRODUCT_LOCALES := zh_CN