Tiny4412 Android5.0 定制:编译生成img后如何删除原厂的apk

在android-5.0.2/build/core/Makefile的315行可以看到,这里是apk生成签名相关的地方。

 315 name := $(TARGET_PRODUCT)
 316 ifeq ($(TARGET_BUILD_TYPE),debug)
 317   name := $(name)_debug
 318 endif
 319 name := $(name)-apkcerts-$(FILE_NAME_TAG)
 320 intermediates := \
 321         $(call intermediates-dir-for,PACKAGING,apkcerts)
 322 APKCERTS_FILE := $(intermediates)/$(name).txt
 323 # We don't need to really build all the modules.
 324 # TODO: rebuild APKCERTS_FILE if any app change its cert.
 325 $(APKCERTS_FILE):
 326         @echo APK certs list: $@
 327         @mkdir -p $(dir $@)
 328         @rm -f $@
 329         $(foreach p,$(PACKAGES),\
 330           $(if $(PACKAGES.$(p).EXTERNAL_KEY),\
 331             $(call _apkcerts_echo_with_newline,\
 332               'name="$(p).apk" certificate="EXTERNAL" \
 333               private_key=""' >> $@),\
 334             $(call _apkcerts_echo_with_newline,\
 335               'name="$(p).apk" certificate="$(PACKAGES.$(p).CERTIFICATE)" \
 336               private_key="$(PACKAGES.$(p).PRIVATE_KEY)"' >> $@)))
 337         # In case value of PACKAGES is empty.
 338         $(hide) touch $@
 339 
 340 .PHONY: apkcerts-list
 341 apkcerts-list: $(APKCERTS_FILE)
我们可以在# In case value of PACKAGES is empty.这句的上面加一个删除系统apk的脚本,这样编译的时候就不会将apk编译到系统中去了。

脚本编写,放在Android源码的根目录下,比如remove_system_apk.sh

例如:

rm -rf  ./out/target/product/tiny4412/system/app/Email/Email.apk

其它的以此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值