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
其它的以此类推。
Tiny4412 Android5.0 定制:编译生成img后如何删除原厂的apk的更多相关文章
- linux批量压缩当前目录中文件后,删除原文件
linux批量压缩当前目录中文件后,删除原文件 for i in `ls|awk -F " " '{print $NF}'`; do tar -zcvf $i.tar.gz $i ...
- Android5.0 Recovery源代码分析与定制(一)【转】
本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://b ...
- Android5.0新特性-Material Design
概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 htt ...
- Android5.0(Lollipop) BLE蓝牙4.0+浅析code(二)
作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23347612来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Android5.0(L ...
- ANdroid5.0不能隐式启动service,必须显示,解决办法,加服务端包名
Intent intent = new Intent(); intent.setAction("com.viaembedded.veonvif.RemoteService");// ...
- 友情提醒:欲开发android5.0以上应用,请全部更新开发工具至最新
周末帮人完成一个项目,android5.0以上版本,谁知道被开发工具折腾的死去活来.我的开发环境是adt-bundle-windows-x86-20140702.zip版本,也是目前能找到的adt-b ...
- ANDROID5.0触摸屏校准
1.校准原理: 1)首先生成校准用的参数,可以适用tslib生成校准参数,也可以使用校准app生成:使用校准app进行校准对使用者要求比较低,使用者可以不用学习复杂的命令:本文使用app方式 2)生成 ...
- Android5.0新特性:RecyclerView实现上拉加载更多
RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基 ...
- 解决Android5.0以下Dialog引起的内存泄漏
最近项目开发中,开发人员和测试人员均反应在android5.0以下手机上LeakCanary频繁监控到内存泄漏,如下图所示,但凡用到Dialog或DialogFragment地方均出现了内存泄漏. 如 ...
随机推荐
- iOS学习之NSString
一.不可变字符 NSString是不可变字符串,它产生的其他字符串方法都是生成一个新的字符串,而不会改变原来字符串. 1.创建方式 //1)字面量,它是常量字符串,存储常量区 NSString *st ...
- url监控
#!/usr/bin/env python #coding:utf-8 import MySQLdb,requests import time from datetime import datetim ...
- Apache和Nigix
Apache , Nginx 是开源的HTTP服务器软件 HTTP服务器本质上也是一种应用程序--它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请 ...
- Python(面向对象3 ——实例)
这个小东西包括了最近学习的,包括模块.包.序列化.继承.派生.组合的应用举例.整体架构如图: bin是程序入口,core包括了几个主要逻辑,main是主架构,login包括登录功能,register包 ...
- 微信小程序组件form
表单组件form:官方文档 Demo Code: Page({ formSubmit: function(e) { console.log('form发生了submit事件,携带数据为:', e.de ...
- iOS程序的启动过程介绍
大家在学习iPhone开发时候,都会写HelloWorld程序.大家一般都是通过向导,生成项目,然后通过模拟器启动应用程序.但是大家知道其背后的启动过程吗?也就是当点击程序图标启动程序开始到退出程序整 ...
- cdoj1342郭大侠与甲铁城
地址:http://acm.uestc.edu.cn/#/problem/show/1342 题目: 郭大侠与甲铁城 Time Limit: 1500/800MS (Java/Others) ...
- REST API风格
REST API风格 就是用URL定位资源,用HTTP描述操作. 看Url就知道要什么看http method就知道干什么看http status code就知道结果如何 主要是针对资源进行资源定 ...
- zero-base coordinate 和one-base coordinate
zero-base和one-base是生信会经常碰到的两套坐标系统. zero-base是半开放式的,是不包括该点的,zero-base的文件有:bed;bam one-base是封闭式的,是包括该点 ...
- [BZOJ1721][Usaco2006 Mar]Ski Lift 缆车支柱
Description Farmer Ron in Colorado is building a ski resort for his cows (though budget constraints ...