编译android framework的例子【转】
本文转载自:http://blog.csdn.net/brucexu1978/article/details/7610358
在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文件.编译顺序和注意事项如下:
1,资源文件位置:frameworks/base/core/res
2,编译后生成的文件:framework-res.apk 另外com.android.internal.R会更新这个R.java所在目录为/out/target/common/R/com/android/internal.
3,编译资源后,必须重新编译framework.jar.
4,如果在frameworks/base/core/res执行mm是并不重新编译,请使用toutch ### 命令
###代表目录下的一个文件.
5,资源文件要小写.
6,如果没有必要,不要编译资源文件,可以用其他方式使用资源,比如将资源使用adb push 传到某个目
录,程序中直接指定具体目录.我在编译资源过程中遇到一些奇怪的问题,比如有时候许多图标会显
示错误,原因猜测跟重新编译资源有关,可以试着重新编译services.jar并替换看看.
举一个例子:假如我想在WindowManagerService.java中使用一个图片资源pic.png.顺序如下.
1,将文件pic.png拷贝到位置:frameworks/base/core/res/res/drawable下.
2,在frameworks/base/core/res/res/drawable目录下执行touch pic.png.
3,进入目录frameworks/base/core/res/ 执行mm命令, 编译 framework-res.apk
4,执行完后com.android.internal.R 会新生成一个R.drawable.pic的引用.在程序中使用即可.
5,在目录frameworks/base/ 下执行mm 编译 framework.jar.
6,在WindowManagerService.java中使用com.android.internal.R.drawable.pic,使用完后保存文件.
7,进入目录frameworks/base/services/java/ 执行mm 编译 services.jar
8,替换机器上(虚拟机或者真机)的jar apk文件.
adb push framework-res.apk /system/framework/
adb push services.jar /system/framework/
adb push framework.jar /system/framework/
执行命令时注意framework-res.apk 的真实路径.
9,reboot 机器,查看修改结果.大功告成!
编译android framework的例子【转】的更多相关文章
- 【转】单独编译android framework模块出现的问题
原文网址:http://blog.csdn.net/leonan/article/details/8629561 全编andorid后,单独修改编译一个framwork模块,make snod会有如下 ...
- Android framework编译出来的jar包classes.jar的位置
在源码环境下编译 Android framework编译出来的jar包classes.jar的位置 out/target/common/obj/JAVA_LIBRARIES/framework_in ...
- 编译android --system,framework
在你的android 目录下: sudo git clone https://android.googlesource.com/platform/manifest cd manifest git b ...
- 如何调试Android Framework?
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- 解析android framework下利用app_process来调用java写的命令及示例
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...
- [Android][Framework] 添加系统服务
新博客地址 http://wossoneri.github.io/2018/09/15/[Android][Framework]create-system-service/ 做系统开发,有时候需要自己 ...
- [Android][Framework]裁剪SystemServer服务以及关闭SystemFeature
本文链接 http://wossoneri.github.io/2018/08/30/[Android][Framework]crop-SystemServer-and-SystemFeature/ ...
- Android Framework中的线程Thread及它的threadLoop方法
当初跟踪Camera的代码中的时候一直追到了HAL层,而在Framework中的代码看见了许很多多的Thread.它们普遍的特点就是有一个threadLoop方法.依照字面的意思应该是这个线程能够循环 ...
随机推荐
- nodejs运行机制
有一天老大忽然问起我这个问题,nodejs运行机制 是怎样的?因自己对nodejs也不是很熟悉,就上网查了一下,得出结果如下: 1.简介 Node.js是一个事件驱动I/O服务端JavaScript环 ...
- 利用WITH AS改写SQL
报表程序中一段SQL语句. 优化前: 返回:3952 耗时:224s SQL 代码: select to_date(nvl(pro.value, '1900-01-01 00:00:00'), 'YY ...
- 性能测试培训day2
上节课 性能测试,多线程.协议.场景 实施:1,脚本开发 运行 排错(看回放,然后view-test_results,看业务) 参数化.关联.检查点.事务.思考时间.集合点 参数化:不做参数化的话, ...
- mysql 删除数据重复的记录
delete from user where id not in ( select * from ( select min(id) from user group by username,email ...
- 04001_HTML简单介绍
1.超文本标记语言 (1)超文本:比普通文本功能更加强大: (2)标记语言:使用一组标签对内容进行描述的一门语言,它不是编程语言! 2.HTML语法和规范 (1)所有的html文件后缀名都是以.htm ...
- js高级程序设计第八章BOM(未完成,待续)
8.1window对象 BOM的核心对象是window,表示浏览器的一个实例. window对象有双重角色,既可以通过就是访问浏览器窗口的接口,又是ECMAscript规定的Global对象 8. ...
- 【03】placeholder
placeholder 表单占位符解决方案 Css Code :-moz-placeholder, ::-webkit-input-placeholder{ color: #bfbfbf; } . ...
- C51 动态数码管 个人笔记
8段led管构成一个数字. 开发板上共有8个数字. 每个数字有一个使能端(段选引脚) 每个数字的位选端(选择8段led管哪些亮,即构成什么图案)并联在一起 轮流点亮不同数字,速度很快,视觉暂留,从而形 ...
- 史上最全Java多线程面试题及答案
多线程有什么用? 线程和进程的区别是什么? Java实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态? ...
- es6异步编程 Promise 讲解 --------各个优点缺点总结
//引入模块 let fs=require('fs'); //异步读文件方法,但是同步执行 function read(url) { //new Promise 需要传入一个executor 执行器 ...