編譯Android時,添加或者刪除system.img中第三方apk、更改Android系統默認語

/********************************************************************************************
 * author:conowen@大 鍾                                                                                                                          
 * E-mail:conowen@hotmail.com
java

 *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在CODE上查看代碼片派生到個人代碼片

  1. PRODUCT_PACKAGES := \  

  2.     AccountAndSyncSettings \  

  3.     DeskClock \  

  4.     AlarmProvider \  

  5.     Bluetooth \  

  6.     Calculator \  

  7.     Calendar \  

  8.     Camera \  

  9.     CertInstaller \  

  10.     DrmProvider \  

  11.     Email \  

  12.     Gallery3D \  

  13.     LatinIME \  

  14.     Launcher2 \  

  15.     Mms \  

  16.     Music \  

  17.     Provision \  

  18.     Protips \  

  19.     QuickSearchBox \  

  20.     Settings \  

  21.     Sync \  

  22.     SystemUI \  

  23.     Updater \  

  24.     CalendarProvider \  

  25.     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在CODE上查看代碼片派生到個人代碼片

  1. PRODUCT_COPY_FILES += \  

  2.     packages/apk/ideal_apk/tv2.apk:system/app/tv2.apk \  

  3.     packages/apk/ideal_apk/ViewLog.apk:system/app/ViewLog.apk \  

  4.     packages/apk/ideal_apk/WeatherPro_2.2.1_liqucn.com.apk:system/app/WeatherPro_2.2.1_liqucn.com.apk \  

  5.     packages/apk/ideal_apk/Wol_Magic.apk:system/app/Wol_Magic.apk \  

  6.     packages/apk/ideal_apk/RockPlayer-universal-1.7.6.apk:system/app/RockPlayer-universal-1.7.6.apk \  

  7.     packages/apk/ideal_apk/VPlayer.apk:system/app/VPlayer.apk   


或者全志A13的方案以下

\android4.0\device\softwinner\nuclear-dds-t729\dds_t729.mk

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. # pre-installed apks  

  2. PRODUCT_COPY_FILES += \  

  3.     $(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在CODE上查看代碼片派生到個人代碼片

  1. PRODUCT_LOCALES := zh_CN  

英文:

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. PRODUCT_LOCALES := en_US  



如:

[cpp] view plaincopy在CODE上查看代碼片派生到個人代碼片

  1. # Overrides  

  2. PRODUCT_NAME := full  

  3. PRODUCT_BRAND := generic  

  4. PRODUCT_DEVICE := generic  

  5. PRODUCT_MODEL := Full Android  

  6. PRODUCT_LOCALES := zh_CN 

相關文章
相關標籤/搜索