文档章节

添加资源到android源码中-修改framework层

王学超
 王学超
发布于 2014/06/19 01:04
字数 881
阅读 13
收藏 0

编译带有资源的jar包,需要更改frameworks层,方法如下:

 一.增加png类型的图片资源

    1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/res/res/drawable-mdpi里。但是要确保没有与原生的没有重名文件。

2.在framework/base/core/res/res/values/public.xml文件里增加对这些图片的声明。(例: <public type="drawable"name="upg_btn_default_small_normal" id="0x010800b4" />,此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的声明。(例:<publictype="string" name="upg_app_name" id="0x01040017"/>此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的声明。(例:<publictype="layout" name="appupg_checkspace"id="0x01090018" />此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 android:text="@ string/upg_tip"要改成<TextViewandroid:text="@android:string/upg_tip"

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层,修改后要在源码中编译。

本文转载自:http://blog.csdn.net/djun100/article/details/12972917

王学超
粉丝 7
博文 588
码字总数 350
作品 0
浦东
私信 提问
android系统源码目录system/framework下各个jar包的用途

am.jar:终端下执行am命令时所需的java库。源码目录:framework/base/cmds/am android.policy.jar:锁屏界面需要用到的jar包,该包引用了android.test.runner.jar,源码目录:framework/bas...

龙虾达人
2012/06/12
31.3K
6
《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第一章 准备工作

首先感谢各位兄弟姐妹们的耐心等待。本书预计在3月中旬上市发售。从今天开始,我将在博客中连载此书的一些内容。注意,此处连载的是未经出版社编辑的原始稿件,所以样子会有些非专业。 [要点...

邓凡平
2014/03/02
1K
1
android 2.android 系统架构与应用程序目录介绍

一 android整体架构 android的系统结构分为4层: 1.Linux kernel linux核心,修改了linux内部受GNU协议约束部分,以用于商业化 2.android系统核心类库与Dalvik虚拟机 3.application framewor...

金河
2012/03/06
185
0
Android源码分析(六)-----蓝牙Bluetooth源码目录分析

一 :Bluetooth 的设置应用 packagesappsSettingssrccomandroidsettingsbluetooth* 蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等。 BluetoothDevicePreference.java 顾名思义,蓝牙设备首选...

—莫言—
05/20
0
0
浅谈如何给 appwidget 添加复杂 view

我们都知道android原生的widget只支持极少数几个简单的view,所以功能及其简单。很多人都希望在AppWidget添加ListView、GridView等复杂的view来实现更为复杂的功能。我们知道要在AppWidget里...

鉴客
2011/09/25
4.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
17分钟前
4
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
17分钟前
15
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
20分钟前
3
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
25分钟前
4
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
47分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部