您的位置:首页 > 移动开发 > Android开发

编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言 .

2014-04-16 11:38 495 查看
/article/1415891.html

1、添加apk到system.img

1.1、添加第三方apk的package到system.img

首先把整个apk的源码包copy到\packages\apps,要注意代码中的layout文件夹中的XML不能有中文字样,否则会提示编码errors,编译不能通过,可以用@string的方法解决,这本来就是代码规范。

然后,编辑以下文档即可。

\build\target\product\generic_no_telephony.mk

或者

\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

全志A20启动后,会提示蓝牙共享错误,去掉上边的蓝牙Bluetooth \ ,再编译,就不会了

1.2、添加第三方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

[java]
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分区下。

2、更改Android系统默认语言

在\build\target\product目录,找到full_base.mk或者full.mk文件,

添加如下语句

中文:

[java]
view plaincopy

PRODUCT_LOCALES := zh_CN

英文:

[java]
view plaincopy

PRODUCT_LOCALES := en_US

如:

[java]
view plaincopy

# Overrides
PRODUCT_NAME := full
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_MODEL := Full Android
PRODUCT_LOCALES := zh_CN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: