把第三方APK放到system.img中

来源:互联网 发布:美工培训班学费多少钱 编辑:程序博客网 时间:2024/06/04 17:47

把第三方APK放到system.img中

1、有源码的APK

1)拷贝整个apk源码到/packages/apps ,注意代码中的layout文件夹中的XML文件中不能有中文会,用@string方法解决。

2)修改/build/target/product/generic_no_telephony.mk或者\build/target/product/generic.mk文件
在PRODUCT_PACKAGES := \ 后面添加APK的名字。
例如:
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Test.apk

2、编译好的APK添加

1)找个地方保存你的Apk,比如在packages/apps/下面新建个文件夹Test,然后拷贝你的apk到Test,记住你的路径就好/packages/apps/Test/Test.apk.

2)到/devices/项目/项目平台/devices.mk (这个不一定)
可以 grep -nir “PRODUCT_COPY_FILES += \ “来查找对应的文件。

3)在PRODUCT_COPY_FILES += \字样后面添加拷贝APK指定的路径
例如:
PRODUCT_COPY_FILES += \
packages/apps/ideal_apk/tv2.apk:system/app/tv2.apk \
packages/apps/Test.apk:system/app/Test.apk

3、更改系统默认语言

1)cd /build/target/product/,找到 full.mk 或者 full_base.mk
中文:
PRODUCT_LOCALES := zh_CN
英文:
PRODUCT_LOCALES := en_US

在代码中添加:
PRODUCT_NAME := full
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_MODEL := Full Android
PRODUCT_LOCALES := en_US (一般是这个)

4、修改编译权限

1)找到 build/core/Makefile

2)注释掉以下代码

#define check-product-copy-files#$(if $(filter %.apk, $(call word-colon, 2, $(1))),$(error \#    Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT instead!))#endef

文献参考:
1、编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语
https://my.oschina.net/u/994235/blog/376507

阅读全文
0 0
原创粉丝点击