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

转载于:https://www.cnblogs.com/zl1991/p/5241891.html

android源码framework下添加新资源的方法相关推荐

  1. android framework资源,android源码framework下添加新资源的方法

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...

  2. Android 源码编译及常见错误及解决方法

    Android 源码编译及常见错误及解决方法 参考文章: (1)Android 源码编译及常见错误及解决方法 (2)https://www.cnblogs.com/kyyblabla/p/360393 ...

  3. android源码环境下编译fourthling.cling库的依赖问题

    记录下,编译fourthline.cling静态库的依赖问题. 1,因为需要在android的源码环境下调试依赖cling的投屏,需要将fourthline.cling编译为静态库. 首先预制依赖的. ...

  4. linux系统下添加新硬盘的方法详解

    对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...

  5. linux下添加新硬盘的方法

    本节介绍下Linux新增硬盘的方法. 1.file –s /dev/hda1 查看分区文件格式 2.fdisk –l 查看所挂硬盘分区情况 3.fdisk  /dev/设备名 对设备进行分区 4.格式 ...

  6. Android P 为系统AudioManager添加新的接口方法

    整个需要添加的类均在frameworks\base\media\java\android\media 包下 1.AudioManager.java中添加两个方法,设置音频流设备的音量和得到相关音量 I ...

  7. network-scripts目录下添加新网卡文件方法、nmcli修改NAME网卡名称和DEVICE一致

    文章目录 说明 开启NetworkManager 添加网卡文件方式1[不建议用] 添加网卡文件方式2[建议用] 说明 在VMware的一台正在使用中的虚拟机中添加了几个新的网络适配器[已连接的那种] ...

  8. Android源码中添加 修改应用

    第一部分:添加一个新的应用 1. 在和系统相同版本的SDK目录下开发自己的android应用 2. 把开发的android工程放到源码的packages/apps/目录下 3. 在工程目录下添加And ...

  9. Android Studio 创建的app放到Android 源码下编译

    文章目录 环境 步骤 创建一个Android Studio 新项目 编写编译脚本 Android.mk Android.bp 环境 Android Studio版本: Android Studio D ...

最新文章

  1. 如何爬取知乎中问题的回答以及评论的数据?
  2. 面试必备:一个秒杀系统的设计思考
  3. 微服务(二)hystrix
  4. String字符串类的获取功能
  5. 苹果如果无法弹出⏏️
  6. [python] LDA处理文档主题分布及分词、词频、tfidf计算
  7. Aspose.Java实现word转pdf,添加水印等操作
  8. U盘拒绝访问怎么办 快速方法解决U盘问题
  9. 5G NR 链路自适应 Link Adaptation
  10. SpringSecurity 跨域问题 Cors
  11. Java基础面试题:AQS组件总结
  12. linux下c++版本线程池的实现
  13. 银川JW万豪酒店与银川万怡酒店双品牌酒店启幕
  14. H5拖拽方法drag在VUE中的应用实例
  15. python如何实现手眼定标_kafka基础和python如何操作kafka
  16. 计算字符串长度函数大全
  17. 哈工大ltp词性标注列表和ICTCLAS词性列表
  18. Blender_7_倒角
  19. BP神经网络逼近函数项目(含matlab代码)
  20. 排查指南 | 当 mPaaS 小程序真机扫码时提示 “应用更新错误(50002)“

热门文章

  1. C#中IList与List区别
  2. QQ使用的应用层协议
  3. centos 6.5 安装dotnet core 2.2
  4. 实现盒子动画和键盘特效
  5. [Swift]LeetCode2. 两数相加 | Add Two Numbers
  6. 操作系统——文件合并
  7. 五、逆向工程--myeclipse快速开发Hibernate项目
  8. hdu 4090--GemAnd Prince(搜索)
  9. “-bash: !”: event not found、echo sudo permission denied
  10. JDK 1.5 新特性——自动拆箱装箱