这篇博客来自http://blog.youkuaiyun.com/conowen/article/details/7884335,感谢博主的分享。
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文件
依照情况而定
- 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.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
- 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