framework-res.apk文件详解
- 格式:doc
- 大小:81.00 KB
- 文档页数:11
.去震动教程.时间居中教程,时间显示到秒且居中在通知栏增加模拟时钟透明状态栏代码修改字体颜色修改关于运营商图标修改可以ctrl+F,按需搜索一:去震动教程:一、首先是配置编译和反编译环境,具体方法如下:1、在电脑上下载安装JRE(/file/clif5w53)。
其次下载好apk反编译工具(apk反编译软件.rar(2.43 MB, 下载次数: 5756) )2、在系统环境变量Path里加入java.exe所在路径。
右键我的电脑--属性--高级系统--设置--环境变量--系统环境变量,里面的path变量项,值里面添加java的所在路径(例如“;C:\Program Files\Java\jre6\bin”)3、将反编译软件解压出来,为了便于使用,最好放在C:\Windows目录下。
二、提取并反编译framework-res.apk文件1、手机必须root,先用RE管理器将/system/framework文件夹下的文件framework-res.apk复制到/sdcard,然后复制到电脑(为了方便后面的操作,建议将文件放到电脑某个盘符的根目录下。
例如:e:\framework-res.apk)2、反编译framework-res.apk文件。
具体方法运行cmd.exe(如图)然后在出来的命令提示行中输入以下命令:apktool+空格d+空格+framework-res.apk路径+空格+反编译后文件存放路径,比如文件放入d盘根目录则命令为:apktool d d:\framework-res.apk d:\framework-res(如图)(此时反编译出来的文件放在d盘framework-res文件夹下)三、修改去震动相关的xml文件一般framework-res\res\values\arrays.xml就是我们要修改的对象。
用xml编辑器(xml 编辑器.rar(345.03 KB, 下载次数: 3223) )打开这个文件。
android系统目录各文件简介2012-05-04 22:24:43| 分类:工作资料|举报|字号订阅一个完整的ROM根目录会有以下几个文件夹及文件:dataMETA-INsystemboot.img系统目录说明1. 应用程序安装目录1) 系统应用程序所在目录/system/app/*.apk2)用户安装应用程序所在目录/data/app/*.apk3) 注意:a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app 下也会被清除b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install杀死正在运行的程序时,有时旧的就会被启动2.用户数据所在目录/data/data/应用包名/shared_prefs 配置文件/data/data/应用包名/databases/* 库文件所在目录3. SD卡对应目录/sdcard/而我们需要处理的只是两个文件夹里面的内容:data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。
system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以APK 格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。
我们主要是针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文件名时同时也删除与其对应的odex文件。
虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解system相应目录相应文件的用途吧。
(rom版本不同里面的APK也会不一样)\\system\\app\\system\\app\\AlarmClock.apk 闹钟\\system\\app\\Browser.apk 浏览器\\system\\app\\Bugreport.apk Bug报告\\system\\app\\Calculator.apk 计算器\\system\\app\\Calendar.apk 日历\\system\\app\\CalendarProvider.apk 日历提供\\system\\app\\Camera.apk 照相机\\system\\app\\com.amazon.mp3.apk 亚马逊音乐\\system\\app\\Contacts.apk 联系人\\system\\app\\DownloadProvider.apk 下载提供\\system\\app\\DrmProvider.apk DRM数字版权提供\\system\\app\\Email.apk 电子邮件客户端\\system\\app\\FieldTest.apk 测试程序\\system\\app\\GDataFeedsProvider.apk GoogleData提供\\system\\app\\Gmail.apk Gmail电子邮件\\system\\app\\GmailProvider.apk Gmail提供\\system\\app\\GoogleApps.apk 谷歌程序包\\system\\app\\GoogleSearch.apk 搜索工具\\system\\app\\gtalkservice.apk GTalk服务\\system\\app\\HTMLViewer.apk HTML查看器\\system\\app\\HtcTwitter.apk 集成Twitter客户端PEEP\\system\\app\\IM.apk 即使通讯组件包含MSN、yahoo通\\system\\app\\ImCredentialProvider.apk\\system\\app\\ImProvider.apk\\system\\app\\Launcher.apk 启动加载器\\system\\app\\HtcNaviPanel.apk 导航软件\\system\\app\\Maps.apk 电子地图\\system\\app\\MediaProvider.apk 多媒体播放提供\\system\\app\\Mms.apk 短信、彩信\\system\\app\\Music.apk 音乐播放器\\system\\app\\MyFaves.apk T-Mobile MyFaves程序\\system\\app\\NewsReader.apk 新闻阅读器\\system\\app\\PackageInstaller.apk apk安装程序\\system\\app\\Phone.apk 电话拨号器\\system\\app\\Settings.apk 系统设置\\system\\app\\SettingsProvider.apk 设置提供\\system\\app\\SetupWizard.apk 设置向导\\system\\app\\SoundRecorder.apk 录音工具\\system\\app\\Street.apk 街景地图\\system\\app\\Sync.apk 同步程序\\system\\app\\Talk.apk 语音程序\\system\\app\\TelephonyProvider.apk 电话提供\\system\\app\\Updater.apk 更新程序\\system\\app\\VpnServices.apk VPN服务\\system\\app\\Vending.apk 制造商信息\\system\\app\\VoiceDialer.apk 语音拨号器\\system\\app\\VoiceSearch.apk 语音搜索\\system\\app\\YouTube.apk Youtube视频\\system\\bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary 二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:\\system\\bin\\akmd\\system\\bin\\am\\system\\bin\\app_process 系统进程\\system\\bin\\dalvikvm Dalvik虚拟机宿主\\system\\bin\\dbus-daemon 系统BUS总线监控\\system\\bin\\debuggerd 调试器\\system\\bin\\debug_tool 调试工具\\system\\bin\\dexopt DEX选项\\system\\bin\\dhcpcd DHCP服务器\\system\\bin\\dumpstate 状态抓取器\\system\\bin\\dumpsys 系统抓取器\\system\\bin\\dvz\\system\\bin\\fillup\\system\\bin\\flash_image 闪存映像\\system\\bin\\hciattach\\system\\bin\\hcid HCID内核\\system\\bin\\hostapd\\system\\bin\\hostapd_cli\\system\\bin\\htclogkernel\\system\\bin\\input\\system\\bin\\installd\\system\\bin\\itr\\system\\bin\\linker\\system\\bin\\logcat Logcat日志打印\\system\\bin\\logwrapper\\system\\bin\\mediaserver\\system\\bin\\monkey\\system\\bin\\mountd 存储挂载器\\system\\bin\\netcfg 网络设置\\system\\bin\\ping Ping程序\\system\\bin\\playmp3 MP3播放器\\system\\bin\\pm 包管理器\\system\\bin\\qemud QEMU虚拟机\\system\\bin\\radiooptions 无线选项\\system\\bin\\rild RIL组件\\system\\bin\\sdptool\\system\\bin\\sdutil\\system\\bin\\service\\system\\bin\\servicemanager 服务管理器\\system\\bin\\sh\\system\\bin\\ssltest SSL测试\\system\\bin\\surfaceflinger 触摸感应驱动\\system\\bin\\svc 服务\\system\\bin\\system_server\\system\\bin\\telnetd Telnet组件\\system\\bin\\toolbox\\system\\bin\\wlan_loader\\system\\bin\\wpa_cli\\system\\bin\\wpa_supplicant\\system\\etc从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
安卓系统文件夹详细结构及其文件解析Android操作系统是一种基于Linux内核的开源操作系统,它的文件系统也是采用的Linux文件系统结构。
下面我将详细介绍安卓系统文件夹的结构及其文件解析。
1. /system- /bin: 该文件夹存放一些包含Android系统所需的可执行文件,如busybox等。
- /etc: 该文件夹存放一些系统配置文件,如/hosts文件、init.d 文件夹等。
- /lib: 该文件夹存放一些系统库文件,如libc.so、libm.so等。
- /usr: 该文件夹存放一些系统资源文件,如fonts文件夹、keylayout文件夹等。
2. /data- /app: 该文件夹存放已安装的应用程序,每个应用程序都会生成一个以包名命名的子文件夹。
- /cache: 该文件夹存放系统缓存文件,如应用程序缓存、系统临时文件等。
- /data: 该文件夹存放应用程序的数据文件,如数据库文件、SharedPreferences文件等。
- /system: 该文件夹存放一些系统级别的数据文件,如系统配置文件、系统数据库文件等。
- /block: 该文件夹存放块设备文件,如硬盘、U盘等。
- /input: 该文件夹存放输入设备文件,如键盘、鼠标等。
- /graphics: 该文件夹存放图形设备文件,如显示器等。
- /net: 该文件夹存放网络设备文件,如网卡等。
4. /proc- 各个进程的文件夹: 在/proc文件夹下,以进程ID命名的文件夹中存放有关该进程的信息,如进程的状态、资源占用情况等。
5. /sys- 各个设备的文件夹: 在/sys文件夹下,存放了系统的各个设备的相关信息,如CPU、内存、磁盘等设备。
6. /mnt- /sdcard: 该文件夹是外部存储的挂载点,通常被映射为手机的SD 卡。
- /usb: 该文件夹是USB存储的挂载点,用于连接USB存储设备。
7. /root- 该文件夹是Android系统的根目录。
apktool反编译详细使⽤教程安装反编⼯具地址apktool⼯具包下载地址apktool.rar1.⾸先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步java JDK:java JRE:还得设置JAVA环境变量CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarJAVA_HOME C:\Program Files\Java\jdk1.6.0_10 解释JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin环境变量配置好了,我们就可以反编译了,(如果有不明⽩的有两种⽅法,1,请教我,2在论坛搜搜怎么设置JAVA环境变量)反编译的使⽤反编译⼯具,⽹上有很多,有APKTOOL,Doapk ,apkmanage..........,你们可以随便下载⼀个,地址我就不提供了,你们⾃⼰搜索⼀下,上百度,上论坛上搜都有的,但apkTOOL⼯具必须包含⼀下⼏个下载完成反编译⼯具后,验证是否安装成功,点击开始菜单,运⾏,输⼊CMD回车按⼀下回车出现,在输⼊APKTOOl,输⼊apktool,要看腻把apkTOOL安装在哪个盘,举例我的,我是安装在D盘APkTOOL⽂件下,先在cmd下输⼊D:回车,在输⼊CD apktool,转⼊apktool⽂件夹下,输⼊apktool 出现如下反应,,说明你安装成功了,可以进⾏APK反编译了,下⾯我已反编译SystemUI.apk为例。
⾸先的知道⼀下⼏条指令的意思1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12⽂件下,12⽂件夹不⽤创建,会⾃动⽣成2,apktool b 12打包12⽂件夹(将会⾃动把12⽂件夹⾥的修改过得APK解包后修改完后⾃动打包,⽣成resources.arsc,⽂件,这就是我们反编译的主要⽬的,当然还有其他⽬的,后⾯将会说明怎么apktool需要反编译的⽬的,⽣成的⽂件。
第一章手机的分区:modem分区:存放基带相关的文件,大家通常所刷基带就是刷写modem分区。
bootloader分区:bootloader分区分成两个部分,分别叫做primary bootloader和secondary stagebootloader。
Primary bootloader主要执行硬件检测,确保硬件能正常工作后将secondary stage bootloader拷贝到内存(RAM)开始执行。
Secondary stage bootloader会进行一些硬件初始化工作,获取内存大小信息等,然后根据用户的按键进入到某种启动模式,比如大家所熟知的通过电源键和其它一些按键的组合,可以进入到recovery,fastboot或者选择启动模式的启动界面等。
我们天机的FTM模式指的就是secondary stage bootloader。
boot分区:当按下电源键开机时,手机会进入正常启动模式。
Secondary stage bootloader会从boot分区开始启动。
Boot分区的格式是固定的,首先是一个头部,然后是Linux内核,最后是用作根文件系统的ramdisk。
解包过boot.imgde 同学肯定知道,解开之后就是一个叫做ramdisk的文件夹。
当Linux内核启动完毕后,就开始执行执行根文件系统中的init程序,init程序会读取启动脚本文件(init.rc和init.xxxx.rc)。
根文件系统中有一个重要的配置文件,叫default.prop,该文件的内容一般为:ro.secure=1ro.allow.mock.location=1(是否允许模拟位置,在开发者选项里面也有)ro.debuggable=0persist.service.adb.enable=1(是否默认打开USB调试,如果没有这一句,可以自己加在最后)这里大家需要注意的两属性ro.secure和ro.debuggable,如果ro.secure=0则允许我们运行adb root命令,通常大家说说内核ROOT指是就是ro.secure=0。
APK应⽤程序的解包、修改、编辑、汉化、打包及应⽤第⼆部分:三星闭源系统apk⽂件的处理,汉化和签名在这⼀部分,我们要进⼊实战。
⾸先,利⽤⼀个具体的例⼦来阐述apk⼯具包的使⽤,对apk⽂件进⾏解包、汉化、打包和签名。
然后,我们来对付三星闭源系统的apk程序,达到我们修改、汉化和美化的⽬的。
我们假定所有apk⽂件都是单个独⽴⽂件,不含odex⽂件(在官版ROM中,通常每个apk都分成两部分,第⼀部分是apk,第⼆部分是odex。
将它们合并是另⼀个题⽬,这⾥不作叙述)。
1. 配置框架(Framework)环境在处理APK⽂件时,apktool需要框架⽂件(framework-res.apk)来解码和打包。
apktool已经包含了标准的框架,所以在⼤多数APK⽂件的解包时,不需要另外提供框架⽂件。
但是,某些制造商(例如三星)使⽤了他们⾃⼰的框架⽂件,为了解包,就不得不从⼿机中或从ROM中把框架⽂件(framework-res.apk)提取出来,然后安装到计算机。
安装命令是:apktool if framework-res.apk安装后就会得到:~\apktool\framework\1.apk注意:三星系统(例如:I897)有两个框架⽂件:framework-res.apk和twframework-res.apk。
在使⽤apktool之前,要安装这两个框架⽂件。
安装⽅法同上:apktool if framework-res.apkapktool if twframework-res.apk安装后就会得到:~\apktool\framework\1.apk和~\apktool\framework\2.apk。
许多⼈拿来apktool⼯具包⽤,说解不开包,运⾏出错。
原因是没有配置框架环境。
2. akp⽂件的汉化和修改我⾸先来讲对⼀般的(⾮三星)apk应⽤程序进⾏解包、汉化和打包。
为你们⽅便和叙述⽬的,我在上传的apktool和apk manager⼯具包⾥都带了⼀个⼩的apk应⽤程序SilentBoot_EN.apk。
如果是修改CM的apk很简单,修改原始代码使用命令单独编译该apk 就可。
这篇文章主要讲那该死三星闭源系统是如何在有限的环境下最大化修改你的东西。
本人不是什么高手,只是接触android的时间比较长(从G1就开始用起),爱好收集andorid 历史上比较有代表性的机器,时常爱摆动手机,倒腾ROM,因为个人时间问题,一直没制作完整的作品(我比较懒XD),就连自己使用的ROM还停留在CMbeta3中文化版本。
个人关注aosp比较多点,很高兴我编译的中文版能将CM for i9000 推到大家面前,让更多的I9000用户了解到CM,当然从G1时代开始刷CM的兄弟们自然会知道CM的优秀。
CM发展至今,已经不仅仅是手机ROM,他代表了一种精神,开源和共享(国内论坛有多少?),以及无所不能——这是我欣赏和推崇的。
如果将CM放大到无限的时间和个人团体集合,android 会支持理论上一切可以运行它的设备。
一:基本准备!准备工具:Android SDKjava,下载适合您系统的版本。
您需要的是apktool 或者apk manager 4.9(貌似最新版本了)。
推荐用apk manager 4.9,下面主要介绍该工具使用方法。
以上工具Windows和Linux下都有。
三星I9000 FROYO 系统应用软件在 /system/app 同大多数Android系统一样。
但注意三星有着自定义的framework,在 /system/framework/twframework-res.apk。
如果您要修改三星的system app就需要用到他。
首先我们要提取出系统软件。
有两种方法,第一刷完机,获取root权限之后用以下命令:1.windows和linux下面的命令同样:2.adb pull /system/ <your path:>3.//将手机system目录copy到您电脑的某个路径中复制代码或者解压缩三星官方刷机包:挂载factoryfs到某路径:然后拷贝所有文件。
[实用教程]-正确认识安卓手机各个文件名-以便精简和优化1、【system/app】这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。
在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\app中。
请机友熟悉了解其中的软件用途可以做删减与增加.看这里是否有你所需的程序,不需要的删除。
你还可以添加你需要的默认安装软件,直接放进去就行了,注意不要用中文名。
app文件夹内软件详解:(注意后缀为.odex,有的软件把它集成.apk里面去了,所以有的没有。
如果app里面的软件有相应的.odex,做精简时也要一并删除掉。
)\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.odex\system\app\Bugreport.apk Bug报告\system\app\Bugreport.odex\system\app\Calculator.apk 计算器\system\app\Calculator.odex\system\app\Calendar.apk 日历\system\app\Calendar.odex\system\app\CalendarProvider.apk 日历提供\system\app\CalendarProvider.odex\system\app\GoogleSearch.odex\system\app\gtalkservice.apk GTalk服务\system\app\gtalkservice.odex\system\app\HTMLViewer.apk HTML 查看器\system\app\HTMLViewer.odex\system\app\IM.apk 及时通讯组件包含MSN、yahoo 通\system\app\ImCredentialProvider.apk\system\app\ImProvider.apk\system\app\ImProvider.odex\system\app\Launcher.apk 启动加载器\system\app\Launcher.odex\system\app\Maps.apk 电子地图\system\app\Maps.odex\system\app\MediaProvider.apk 多媒体播放提供\system\app\MediaProvider.odex\system\app\Mms.apk 短信、彩信\system\app\Mms.odex\system\app\Music.apk 音乐播放器\system\app\Music.odex\system\app\MyFaves.apk T-Mobile MyFaves 程序\system\app\MyFaves.odex\system\app\PackageInstaller.apk apk安装程序\system\app\PackageInstaller.odex\system\app\Phone.apk 电话拨号器\system\app\Phone.odex\system\app\Settings.apk 系统设置\system\app\Settings.odex\system\app\SettingsProvider.apk 设置提供\system\app\SettingsProvider.odex\system\app\SetupWizard.apk 设置向导\system\app\SetupWizard.odex\system\app\SoundRecorder.apk 录音工具\system\app\SoundRecorder.odex\system\app\Street.apk 街景地图\system\app\Street.odex\system\app\Sync.apk 同步程序\system\app\Sync.odex\system\app\Talk.apk 语音程序\system\app\Talk.odex\system\app\TelephonyProvider.apk 电话提供\system\app\TelephonyProvider.odex\system\app\Updater.apk 更新程序\system\app\Updater.odex\system\app\Vending.apk 制造商信息\system\app\Vending.odex\system\app\VoiceDialer.apk 语音拨号器\system\app\VoiceDialer.odex\system\app\TtsService.apk好友动态通\system\app\TtsService.apk语音合成\system\app\Twitter.apk微博\system\app\SuquashiInputMethod.apk自带输入法\system\app\UserDictionaryProvider.apk用户词典\system\app\VoiceSearch.apk语音搜索\system\app\VpnServices.apk网络服务\system\app\Youtbe.apk Youtbe视频2、【framework】文件夹下存放的是可以重复使用的框架类,这个文件夹下的framework-res.apk就是平常美化的重点。
中端技术系列教程第四讲——修改ROM的动画特效在上一讲中我们详细介绍了 Framework-res.apk,知道了 ROM 的动画特效控制文件的所在目录,那么这一讲就详细介绍修改特效的方法;№.1一般特效的替换1、当前使用的 ROM 特效替换1.1、提取手机中的 Framework-res.apk①安装 RE管理器,打开并授予最高权限(这个就不用多说了吧);②进入system \ Framework文件夹,找到Framework-res.apk,长按选择复制粘贴到 sdcard 文件夹(即 SD 卡)内并移动到你的电脑上;1.2、替换特效文件①下载特效现成品,一般就是一个 anim 文件夹(此处我下载的是九尾特效的特效文件)②使用压缩软件打开 Framework-res.apk(不要解压)③打开res \ anim文件夹,并打开下载的特效现成品的 anim 文件夹;④全选下载的特效文件,直接拖入 framework-res.apk 的 res \ anim 文件夹并全部覆盖;⑤直接关闭压缩软件,这样特效就替换完成了;放到SD 卡下面进行替换;1.3、替换手机中的 Framework-res.apk①打开 RE管理器,打开 sdcard 文件夹(即 SD 卡);②找到上面我们替换特效后的 Framework-res.apk,并长按选择移动;;③返回打开system文件夹,粘贴;(陷阱!请注意!)▲这一步是先移动到 system 文件夹!不是直接移动到 system \ Framework 文件夹!④长按Framework-res.apk,选择权限,修改权限如下图所示并“ 确定”;⑤修改权限后长按 Framework-res.apk,移动到 system \ Framework文件夹并确定覆盖;⑥退出 RE管理器,重启手机即可;2、未刷入的 ROM 特效替换(以 MIUI ROM 为例)2.1、提取 zip 格式 ROM 中的 Framework-res.apk①使用压缩软件打开 ROM(不要解压);②打开 System \ Framework 文件夹,找到 Framework-res.apk;③将 Framework-res.apk 直接拖到桌面2.2、替换特效文件①使用压缩软件打开 Framework-res.apk(不要解压);②打开res \ anim文件夹,并打开下载的特效现成品的 anim 文件夹;③全选下载的特效文件,直接拖入 framework-res.apk 的 res \ anim 文件夹并全部覆盖;④直接关闭压缩软件,这样特效就替换完成了;⑤替换完成后直接将 framework-res.apk 拖回到 ROM 的 system \ framework 文件夹内并确定替换即可;▲替换好修改特效后的 framework-res.apk,这个 ROM 直接刷入手机即可3、九尾特效文件:其它特效:点击查看—————————————————————————————————————————№.2ICS 特效的替换解释一下这个为何要单独拿出来讲解:ICS 动画特效,顾名思义是存在于 4.0 系统当中的,那么此处的替换其实来说是移植;相信很多朋友都遇到过直接替换特效文件都是无法成功的,甚至导致了系统的崩溃;为了方便易懂,这里只介绍一种 ICS 特效的移植方法,所用到的附件我会随着教程提供下载链接;1、提取 zip 格式 ROM 中的 Framework-res.apk①使用压缩软件打开 ROM(不要解压);②打开 System \ Framework 文件夹,找到 Framework-res.apk;③将 Framework-res.apk 直接拖到桌面;2、下载特定反编译工具:APKmanage▲解压下载的附件,得到文件夹“ Apk Manager ”3、移植 ICS 动画特效(请务必仔细阅读全部内容!)▲首先请打开文件夹“ Apk Manager ”3.1、反编译 framework-res.apk3.1.1将第1 步提取的 framework-res.apk 移动到Apk Manager \ place-apk-here-for-modding文件夹内;3.1.2返回 Apk Manager 根目录,打开脚本“ Script.bat ”(如图所示)3.1.3依次输入 22 - 回车、 1 - 回车、 9 - 回车3.1.4请耐心等待反编译结束,结束后切记脚本不要关闭!!▲再次提醒!脚本不要关闭!3.2、替换特效文件3.2.1反编译结束后,打开文件夹projects \ framework-res.apk \ res \ anim3.2.2下载 ICS 特效文件:▲将下载的特效文件解压得到两个文件夹“ anims ” 和“ other_files ”3.2.3将文件夹“ anims ” 和“ other_files ” 里的所有文件复制覆盖粘贴到文件夹projects \ framework-res.apk \ res \ anim 内;3.3、加入 ICS 特效代码3.3.1返回上一级目录,即projects \ framework-res.apk \ res \ values找到文件“ integers.xml ”,并用记事本打开;3.3.2复制下面的代码(在 Apk Manager 文件夹里也有提供)将下面代码复制粘贴到“ <integer name="config_shortAnimTime">150</integer> ” 下面▲ ICS 特效代码:<integername="config_activityShortDur">150</integer><integername="config_activityDefaultDur">220</integer>3.3.3代码加入后,退出并“ 保存”;3.4、重新编译 framework-res.apk3.4.1回到脚本,输入 11 并回车3.4.2之后会有两次 Type input 提问,均输入“ y ” 并回车确定;开始编译..3.4.3很快编译就会暂停(如下图所示),此时不要动脚本,也不要关闭脚本!切记不要关闭!▲再次提醒!脚本不要关闭!3.4.4进入文件夹Apk Manager \ keep,删除文件“ resources.arsc ”;3.4.5进入文件夹 keep \ res \ anim删除所有与下载的 ICS 特效文件中 anims 文件夹内的同名文件!▲方法一:使用UltraCompare Professional 文件比对软件进行比对删除;▲方法二:将 ICS 特效包中的 anims 文件夹中所有文件复制,然后在 keep \ res \ anim 目录下粘贴,选择全部替换,随后,被替换过的文件都会处于选中状态,这时候直接按删除即可(如图所示);3.4.6删除同名文件完成后,再次回到脚本,直接“ 回车”;3.4.7等待编译完成后,keep 文件夹会自动清空,在 place-apk-here-for-modding 文件夹内生成新文件:unsignedframework-res.apk;3.5、替换 ROM 原 framework-res.apk3.5.1将上一步生成的 unsignedframework-res.apk 单独放在桌面并重命名为:framework-res.apk;3.5.2用压缩软件打开 ROM;打开文件夹 system \ framework,将移植了 ICS 特效的新文件直接拖入,并替换原文件▲ 由于framework-res.apk是系统配置文件,不是APP,所以不需要签名!转自深度安卓论坛:/thread-2176471-1-1.html。
首先需要反编译framework-res(在system/framework目录下)这里提供一个很方便的反编译工具assets这个目录就不多说了- -,不是音频就是图片然后是res目录,这个要好好说一说:anim文件夹(存放ROM动画效果控制文件)——***.xmlcolor(一目了然,这个文件夹存放的是ROM各位置的颜色控制代码)——***.xml drawable / drawable-***(ROM 的基本资源库,存放各种资源来供控制文件调用)——***.xml / **.pnglayout / layout-***(ROM 层面布局控件,简单理解就是控制各个部位的所在位置,如各种图标)——***.xmlraw / raw-***(一般情况这些目录不需要动)——***.png / ***.ogg /***.htmlvalues / values-***(各种语言包控件)——***.xmlxml / xml-**(全局控制文件,一般情况这些目录不需要动)——***.xmlAndroidManifest.xml 和 apktool.ymlAndroidManifest.xml 是每一个应用都需要的文件;位于应用的根目录下,描述了程序包的一个全局变量;包括暴露的应用组件(activities, services 等)和为每个组件的实现类;什么样的数据可以操作,以及在什么地方运行;▲ 一般情况下不需要动该文件AndroidManifest.xml 的结构大纲:<manifest>文件根节点,描述了程序包的所有内容;<uses-permission>请求一个安全授权,必须被授予该权限,程序包才能正确的操作;<permission>声明一个安全授权,用来限制哪些应用可以访问程序包内的组件和特有机制;<instrumentation><application>描述程序包内应用级别组件的根节点,该节点能够描述应用程序的全局和默认属性;<activity>应用于用户交互的最主要机制,当一个应用运行的时候,用户看到的第一个屏幕就是 activity;<intent-filter><action><category><type><scheme><authority><path><receiver>一个 IntentReceiver 可以让应用接收到一次数据变化和一次行为发生的通知;<service>Service 是一个在后台任意时刻都可以运行的组件;<provider>ContentProvider 组件是用来管理数据持久化及数据发布的,发布的数据可以被其他的应用访问;apktool.yml 是 apktool 反编译时生成的一个配置文件,不需要动这个文件,重新编译时缺它不可;anim 文件夹下即我们通常所说到的动画特效文件,在这里我通过表格的方式来说明(非专业解释,仅供参考)详细介绍 res \ values目录res \ values 目录结构和相关解释在№.2 中我们已经介绍了,那么下面来针对里面的文件进行介绍这些属性我们在定制 ROM 时通常可以自定义,但是我们在修改的过程中不能轻易大动手脚,这里只简单介绍一下▲ 因 ROM 不同,文件可能也会不同,以下仅供参考arrays.xml<?xml version="1.0" encoding="utf-8"?> XML 解析定义和 utf-8 编码格式<resources>根节点,即引用的资源,存在于根目录中<string-array name=" *** ">所定义的内容名称<item> *** </item>内容定义,这里我们看到的都是英文,在上级目录里的values-zh-rCN 里即中文翻译</string-array>代码后缀,使其之上代码生效attrs.xml<?xml version="1.0" encoding="utf-8"?><resources><attr name=" *** " format=" *** " /> attr name 是指 attr 属性对应的属性名,format 是指属性类型<enum name=" *** " value=" * " /> enum name 枚举名称,valie 对于 enum name 的宏定义</attr> 属性后缀,使其之上代码生效bools.xml(存放布尔值的 XML 资源)<?xml version="1.0" encoding="utf-8"?><resources><bool name=" *** ">false</bool> bool name 该目录下的布尔值名称,false \ true 相对应的布尔值</resources>colors.xml(存放16进制颜色值的 XML 资源)<?xml version="1.0" encoding="utf-8"?><resources><color name=" *** ">#8000</color> color name 可自定义元素的名称;#8000 对应元素的颜色代码</resources>▲ 该代码中所对应的属性值存在于上级目录中的“ color ” 文件夹;自定义颜色部分代码:点击查看dimens.xml(存放带计量单位的数量值 XML 资源)<?xml version="1.0" encoding="utf-8"?><resources><dimen name=" *** "> ** dip</dimen> dimen name 对应元素的名称;** dip 度量值,即距离数值</resources>drawables.xml<?xml version="1.0" encoding="utf-8"?><resources><drawable name=" *** ">@ *** </drawable> 所要定义颜色值的相关名称,@后即要对此执行该定义</resources>ids.xml(用 XML 格式定义的资源唯一 ID)<?xml version="1.0" encoding="utf-8"?><resources><item type="id" name=" ** " /> item type 对应值必须是 id,只包含属性;name 即名称,拥有唯一的 ID</resources>integers.xml(用 XML 格式定义的整数资源)<?xml version="1.0" encoding="utf-8"?><resources><integer name=" *** "> ** </integer> integer name 定义元素的名称;** 必须是整数,定义对应元素的数值</resources>plurals.xml<?xml version="1.0" encoding="utf-8"?><resources><plurals name=" *** "> 要定义的元素名称<item quantity="other">%d ***</item> 该定义值通常会影响到对应元素显示乱码问题<item quantity="one">1 second ago</item> 对应定义元素的项目数以及对应时间数值</plurals> 定义后缀,使其之上的定义代码生效</resources>public.xml<?xml version="1.0" encoding="utf-8"?><resources><public type="attr" name=" *** " id=" ** " /> public type 类型定义;"attr" name 属性名称;<public type="id" name=" *** " id=" ** " /> id=" ** "唯一的 ID定义<public type="style" name=" *** " id=" ** " /><public type="string" name=" *** " id=" ** " /><public type="color" name=" *** " id=" ** " /><public type="drawable" name=" *** " id=" ** " /><public type="layout" name=" *** " id=" ** " /><public type="anim" name=" *** " id=" ** " /><public type="xml" name=" *** " id=" ** " /><public type="raw" name=" *** " id=" ** " /><public type="bool" name=" *** " id=" ** " /><public type="integer" name=" *** " id=" ** " /><public type="plurals" name=" *** " id=" ** " />(同上)</resources>strings.xml(这里存放的就是我们所熟悉的各程序的各组件名称定义)<?xml version="1.0" encoding="utf-8"?><resources><string name=" *** "> ** </string> *** 要定义名称的元素名;** 该元素的定义名称</resources>▲ 在上级目录的 values-zh-rCN 文件夹中有对应的中文翻译styles.xml<?xml version="1.0" encoding="utf-8"?><resources><style name="Animation" /> style name 即样式名称<style name="Animation.Activity" parent="@ ***"> 父级样式名称对应样式定义 <item name=" *** ">@ ***</item> 子级样式名称和样式定义</style> 样式定义后缀,使其之上代码生效<style name=" *** " parent="@ ***"><item name=" *** ">@ ***</item><item name=" *** ">@ ***</item></style></resources>。