android源码framework下添加新资源的方法
编译带有资源的jar包,需要更改frameworks层,方法如下:
一.增加png类型的图片资源
1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/res/res/drawable-mdpi里。但是要确保没有与原生的没有重名文件。
2.在framework/base/core/res/res/values/public.xml文件里增加对这些图片的声明。(例: ,此id要保证唯一,以drawable类型的最后一个id为基数增加)
3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
二.增加string资源
1.将appupdate模块定义的string.xml里面的所以string拷贝到framework/base/core/res/res/values/string.xml里。但是确保没有重名的。
2.在framework/base/core/res/res/values/public.xml文件里增加对这些string的声明。(例:此id要保证唯一,以string类型的最后一个id为基数增加)
3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
三.增加layout资源
1.将appupdate模块的layout文件里定义的5个xml文件拷贝到在framework/base/core/res/res/layout里。但是要确保没有重名文件被覆盖。
2.在framework/base/core/res/res/values/public.xml文件里增加对这些layout的声明。(例:此id要保证唯一,以layout类型的最后一个id为基数增加)
3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
说明:若layout中包含xml,直接把xml拷贝到framework相应目录下。
例如(1)button的selector。将appupdate模块的drawable/common_btn_selector.xml文件拷贝到framework/base/core/res/res/drawable里,确保没有重名文件。 (2)将appupdate模块的anim/loading.xml文件拷贝到framework/base/core/res/res/anim里,确保没有重名文件。
四.增加style资源
1.将appupdate模块的style文件里定义的所有style拷贝到framework/base/core/res/res/values/style.xml里。确保没有覆盖原生的style.
2.在framework/base/core/res/res/values/public.xml文件里增加对这些style的声明。 3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
五.增加color资源
1.将appupdate模块的style文件里定义的所有style拷贝到framework/base/core/res/res/values/color.xml里。确保没有覆盖原生的color.
2.在framework/base/core/res/res/values/public.xml文件里增加对这些color的声明。 3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
六.增加资源id
1.在framework/base/core/res/res/values/ids.xml里定义你jar中所用的id(R.id)*)。确保没有覆盖原生的.
2.在framework/base/core/res/res/values/public.xml文件里增加对这些id的声明。 3.framework/base/core/res/res/ 下mm编译
4. \Honeycomb下 make update-api
最后,eclipse源码中要修改以下:
1. 把R.*.*全部替换成android.R.*.*例如R.layout.appupg_tip_dialog 要更换为android.R.layout.appupg_tip_dialog
2. 资源文件中对资源的调用需要添加android:如<textview p="" <="" 要改成
3. Import *.*.*.R删除。 linux下jar包路径 Honeycomb\out\target\common\obj\JAVA_LIBRARIES\hisenseAppUpgrade_sdk_intermediates
另,要想在eclipse环境下编译修改后的应用自升级jar。
1, 从编译的源码中拷贝framework.jar及framework-res.apk两个文件,解压缩后。从framework.jar中拷贝出android文件夹,从framework-res.apk拷贝出res文件夹,然后添加到android.jar包中。替换自升级工程的android.jar。然后把res文件夹下出现X的文件删除即可。 应用自升级修改方法 资源修改要通过frameworks层,修改后要在源码中编译。
android源码framework下添加新资源的方法的更多相关文章
- 在android源码环境下写上层应用的一个初步解决方法
在android源码环境下编写上层应用,一直以来我都觉得很麻烦.因为如果单纯将应用导入eclipse,那么framework层一些定制的API无法自动提示和补全,使用起来不太方便:如果将整个andro ...
- android源码环境下用mmm/mm编译模块,输出编译log到文件的方法
android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ...
- Android:源码环境下移植第三方的apk内置到ROM(System Image)中
1. 首先在vendor目录下新建一个the3rdapk的目录,将需要内置的apk丢进去,目录名自己随意定. 2. 在 build/target/product/common.mk最后面,在$(cal ...
- Ubuntu编译Android源码过程中的空间不足解决方法
Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...
- linux系统下添加新硬盘的方法详解
对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...
- Android 源码编译及常见错误及解决方法
最近要往arm开发板上移植android系统,大大小小的问题遇到了太多太多,都是泪啊.本人初接触嵌入式开发,对问题的根源不是太了解,不过好在每解决一个问题,便记录一下.话不多说,正式罗列问题: hos ...
- 在Android源码下编译jni所需要知道的事~
以下只是自己的一些总结,欢迎讨论 通过NDK编译jni网上有很多例子,在这我只总结在Android源码下编译 1.android源码环境下编译so包,编出来的.so的包前面不会自动给添加lib,NDK ...
- Android源码下编译APK步骤
1.进入android源码目录下的build下执行:source envsetup.sh 后继续在该路径下执行lunch. 2.编写完成工程 3.编写Android.mk文件,放入工程目录下 ...
- Android源码学习之模板方法模式应用
一.模板方法模式定义 模板方法模式定义: defines the skeleton of an algorithm in a method, deferring some steps to subcl ...
随机推荐
- iOS-点击推送消息跳转处理
当用户通过点击通知消息进入应用时 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDi ...
- Visual studio 2013安装
最头疼装一些需要安装插件的软件,刚开始下载了VS2013的一个版本,安装到一半就发现还得装一些必要插件,然后得重新删了再安装,倒弄了还几次才装好.这是第一次安装时是出现的情况. 第二次尝试安装,把所有 ...
- Maven在Windows上的安装与配置
下载Maven 1.进入Maven官网下载:maven.apache.org(点击进入或复制浏览器地址栏,回车进入) 注意事项:需要大家要注意的是(截至目前2015年12月1日)最新版本的Maven3 ...
- web项目修改名称问题
第一步:鼠标点击项目按F2 ,然后修改名称 第二步:备份web.xml 第三步:鼠标点击项目右键 选properties(一般位于最后面) 再在弹出框中输入WEB 第四步:将备份的web.xml文 ...
- ORACLE 查看有多个执行计划的SQL语句
在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一 ...
- 十五天精通WCF——第八天 对“绑定”的最后一点理解
转眼已经中断10几天没有写博客了,也不是工作太忙,正好碰到了端午节,然后最近看天津台的爱情保卫战入迷了...太好看了,一直都是回味无穷...而且 涂磊老师话说的真是tmd的经典,然后就这样耽搁了,好了 ...
- IntelliJ IDEA Cannot find declaration to go to
最近在用IntelliJ IDEA开发一个微服务的项目的时候,从git clone了代码, 再用IntelliJ IDEA导入项目以后.项目里好多方法,类和属性都无法转到定义或者声明处,无论是Ctrl ...
- python关键字,运算符
关键字: and且 or 或 not否 del import导入 from import的来源 whilewhile循环 for for循环 if elif else条件结构 break contin ...
- 工作中常用的Linux命令:mkdir命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...
- [转]C#网络编程(异步传输字符串) - Part.3
本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part3.aspx 这篇文章我们将前进一大步,使用异步的方式 ...