MIUI论坛 下载APP

玩机之王

Rank: 5Rank: 5

积分
4341
机型
未知设备
签到次数
178
MIUI版本
9.5.23
私信

MIUI 10专属勋章万圣节勋章关注微信关注腾讯微博关注新浪微博

[经验] 如何编译framework-res.apk修改图标文件(100%不会无限重启)

[复制链接]
49024 80 |
2012-9-18 07:52 | 来自PC
| |
|
跳转
本帖最后由 Zenusx 于 2013-2-16 09:52 编辑

昨晚熬夜到现在
就为了编译这个framework-res.apk

最开始还不知道怎么替换framework-res.apk

后来看了许多教程 学习了好多
终于学会了怎么编译framework-res.apk

现在分享给大家
好了入正题
也许比较繁琐
不过想学习的人始终会看完

首先
你要明白framework-res.apk是个什么东西 自己找度娘吧 我熬夜很久了 很累

然后我们要清楚自己的目的是什么?

至少我的目的是把电池显示改掉 改成圆圈显示

首先,我们要知道"framework-res.apk"是不可以重签名的!(我们要切记这一点)另外,修改"framework-res.apk"之前务必先做好备份!这是相当重要的文件,稍有出错都会令你进不了系统的!

这就是为什么好多朋友编译了framework-res.apk 后自动重启 并且无限重启的原因 因为你只是替换 而不是编译 步骤走少了 所以也就出错了

需要的环境
JDK 这个不需要我解释吧?
懂得编译的都知道 安卓是在JAVA的环境开发 那么你要编译一个程序 必然不能离开JAVA

下面教大家如何搭建JAVA环境
下载下面这个文件 然后安装
http://dl.dbank.com/c0ypixiw9j

1.安装JDK
   双击打开刚刚下载的JDK安装包,安装目录可以为任意,只要你记着就好,当然,C盘是比较好,但由于铭心也是一名程序员,装了比较多开发相关的软件及环境,因此装在D盘

2.JAVA环境变量配置
   安装好JDK后,找到我的电脑,按右键,点属性选项, 按高级选项卡,点击环境变量
     Win7或vista为:计算机-属性-高级系统设置-高级-环境变量


  然后再用户变量那里新建3个环境变量
CLASSPATH : %JAVA_HOME%\lib;
JAVA_HOME:JDK安装路径\jdk1.6.0_18(安装路径就是你安装JDK的位置)
PATH: %JAVA_HOME%\bin;
点击确定退出编辑界面,再点击确定,退出环境变量界面

3.验证JDK和环境变量
这时按住键盘上win键(windows图案按钮)+R,打开运行,键入CMD

接着,看到黑色背景白色字的命令行界面,再键入:java –version(注意有一个空格)

若你看到以下内容,表明你JDK和环境变量配置成功,否则,请从第三步从新开始

java version "1.6.0_18"
java<TM> SE Runtime Environment <build 1.6.0_18-b07>
java HotSpot<TM> Client VM <bulid 16.0-b13, mixed mode, sharing>

确定以上步骤没错就可以开始下面的步骤了(一定要确定是否无错 不然下面的步骤无法进行

先下载我们的重要工具:apktool(帖子最下)
这是一个编译,反编译工具
此工具虽然操作会不如其他某些编译工具简单,但是修改框架文件,推荐使用这个!!!

接着我们就要进行提取framework文件了,用RE浏览器打开目录/system/framework下,就会看到有"framework-res.apk"的文件了,直接把他复制到内存卡,然后放到电脑上准备对它进行开刀解剖!(当然,手机必须是已经Root了)

用apktool反编译"framework-res.apk"
为了方便,建议先把这文件重命名为“f.apk”,在D盘根目录下建立一个apktool的文件夹,把解压好的APKTool.zip里面的三个文件以及“f.apk”一齐放到D:\apktool中

也就是说 你的D盘apktool文件夹里面有4个文件!!!


然后打开DOS界面 就是开始-运行-cmd
接着输入以下代码(一个都不要错 不然无法编译)
01  D:
02   cd apktool
03   apktool if f.apk
04   apktool d f.apk f

PS:d 是反编译命令 后面的f表示生成文件名为f的文件夹(有的framework-res.apk文件无法编译 如果你看到出现一大串英文 并且后面都显示Unknown source 那么说明你的framework-res.apk无法编译 只有换一个)

接下来  窗口别关 还用得上

这时 你的D:\apktoo目录下就会多出一个名为f的文件夹,里面放着就是反编译出来的文件了

接下来的东西一定要仔细 出错就全盘白忙了

接下来把你要替换的图标放到framework-res.apk 里面的res文件夹里(用压缩软件打开后直接把你要替换的文件丢进去替换了就是)

替换完了过后接着在命令提示符里面输入代码
apktool b f

重点又到了
这还没结束 不是说你替换了 你就完事了  NO!!!!!!
先搞清楚,我们现在有两个apk文件,一个是编译前的f.apk,一个是编译后的f2.apk。
用压缩软件同时打开f.apk,f2.apk,是打开,而不是解压(成功编译之后,f文件夹就会多了个dist的文件夹,里面放的就是编译好的文件,同样命名为f.apk的,我们为了区分,先把他重命名为f2.apk


细心观察,会发现编译后的f2,少了一个META-INF的文件夹,这个其实就是apk包的签名所在,但是这框架文件是不能签名的,所以,我们才要进行下面的步骤
我们需要把两类文件从f2.apk拉到f.apk中替换,
第一类是:刚才反编译后,你所替换过,或者修改过的所有文件
第二类是:resources.arsc这一个文件
所有文件一个都不能替换少了
PS:记得要放到相同的目录下哦!!
PSP:我们最后要的是f.apk这个文件!!!

替换好后,我们可以把f.apk重新命名为“framework-res.apk”,然后放回到内存卡上。
然后,用RE浏览器把“framework-res.apk”复制到/system目录下,然后,长按文件名选择权限,具体权限修改如下图(RE管理器挂载为读/写)权限设置211

修改好确定后,再把“framework-res.apk”剪切到/system/framework目录下,选择替换原文件,再次确认权限是否有误!
PS:一定要修改好权限后才能放进/system/framework,不然系统会马上挂掉的!!

最后就是重启手机,一阵心跳过后,深呼吸一口气,顺利进入系统了!!!!

好了 我也该休息了
写这个教程很累 一遍实验 一边写 因为我记性不是很好 所以要边看边写
感谢一位大大 名字不方便透露了

休息了 各位有什么问题可以直接留言给我 或者邮箱给我315226101@qq.com
各位 早安

顺带说一句 我不想设置什么回复可见 回复全凭自觉 你觉得好 就看  觉得不好 就当没看见 就这么简单
收工  睡觉 这东西 忙我一通宵了
           
                                                                                                                                    -BY 铭心

apktool_115420.zip

2.73 MB, 下载次数: 2955

收藏35 分享  

已有 14 人评分 经验 理由  

kingwazhang + 1 MIUI 因你更精彩!
hyangxh + 2 精品文章^_^
坤-szk + 1 感谢分享^_^
腐叶飘飞 + 1 精品文章^_^
气死老吴 + 1 感谢分享^_^
翌展A + 1 感谢分享^_^
panda0熊猫 + 1 精品文章^_^
墨之如是 + 4 精品文章^_^
FinthDark + 1 MIUI 因你更精彩!
宝马616 + 1 精品文章^_^
小小哭了 + 1 MIUI 因你更精彩!
丁妮阁肺。 + 1 原创内容^_^
snail蔡 + 1 感谢分享^_^
287606570 + 5 MIUI 因你更精彩!

经验 +22  查看全部评分

玩机之王

Rank: 5Rank: 5

积分
4341
机型
未知设备
签到次数
178
MIUI版本
9.5.23
私信

MIUI 10专属勋章万圣节勋章关注微信关注腾讯微博关注新浪微博

 楼主| 2012-9-18 07:54 | 来自PC
|
留着备用  不好意思了

玩机之王

Rank: 5Rank: 5

积分
4341
机型
未知设备
签到次数
178
MIUI版本
9.5.23
私信

MIUI 10专属勋章万圣节勋章关注微信关注腾讯微博关注新浪微博

 楼主| 2012-9-18 08:01 | 来自PC
|
提供一个我帖子用的电池图标  有兴趣的拿去用

蓝色圆圈.zip

210.61 KB, 下载次数: 152

荣誉元老

在MIUI最大的收获,就是遇见了你!

Rank: 6Rank: 6

积分
76240
机型
未知设备
签到次数
268
MIUI版本
9.7.18
私信

小爱同学两周年点赞金米兔勋章MIUI 10专属勋章剑侠世界2荣誉内测2018新年勋章MIUI真实车主勋章2017圣诞节勋章感恩节勋章万圣节勋章米兔月饼勋章国庆勋章MIUI七夕鹊桥勋章MIUI七周年MIUI 9纪念勋章小米众筹2周年新版论坛APP小米7周年勋章“澎湃S1 ”芯片纪念勋章初音勋章灵魂画手勋章2017年小金鸡勋章圣诞节勋章APP 1000万小火箭勋章MIUI 300周为奥运加油勋章MIUI 8纪念勋章小米六周年MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI 7小米商城购买纪念勋章优秀解答组流量王MIUI五周年小米平板首发纪念勋章MIUI三周年百万壁纸关注微信极客勋章关注腾讯微博关注新浪微博MIUI 100周发烧友俱乐部我爱米兔VIP贵宾MIUI六周年

2012-9-18 09:41 | 来自PC
|
呵呵!支持下楼主了!
本人所有言论仅代表本人观点!新浪微博:传说枫叶_Chris

发烧友俱乐部

Rank: 6Rank: 6

积分
49311
机型
未知设备
签到次数
284
MIUI版本
9.7.4
私信

点赞金米兔勋章MIUI 10专属勋章全局搜索纪念勋章国庆勋章MIUI七周年MIUI 9纪念勋章小米7周年勋章APP 1000万MIUI 300周MIUI 3000万MIUI 2000万1000万用户纪念勋章MIUI 7小米商城购买纪念勋章流量王MIUI五周年小米手机2终身荣誉勋章MIUI三周年关注微信极客勋章MIUI V5内测元勋关注腾讯微博关注新浪微博MIUI 100周发烧友俱乐部MIUI六周年

2012-9-18 10:08 | 来自PC
|
支持了

玩机之王

SymbianNo1

Rank: 5Rank: 5

积分
3909
机型
未知设备
签到次数
90
MIUI版本
V10.2.1.0.OCACNFK
私信

MIUI 10专属勋章2018新年勋章MIUI 9纪念勋章关注腾讯微博关注新浪微博

2012-9-18 10:13 | 来自PC
|
还不错,支持,

玩机狂人

Rank: 3Rank: 3

积分
235
机型
索爱LT26i
签到次数
12
MIUI版本
9.1.10
私信
2012-9-18 11:27 | 通过手机发布
|
技术贴必须顶

玩机大师

Rank: 4

积分
1502
机型
未知设备
签到次数
20
MIUI版本
3.3.30
私信

1000万用户纪念勋章

2012-9-26 15:24 | 通过手机发布
|
辛苦了!

玩机小白

Rank: 1

积分
41
机型
未知设备
签到次数
0
MIUI版本
3.1.25
私信
2012-10-4 23:09 | 通过手机发布
|
楼主真是太不容易了!鄙视只看不回帖的人!

玩机小白

Rank: 1

积分
42
机型
未知设备
签到次数
0
MIUI版本
V9.2.2.0.NCFMIEK
私信
2012-10-5 14:39 | 来自PC
|
奇怪~我照步驟改了~可是重開機還是進不了,好險有RECOVERY系統~

確定的事~用原廠的檔案蓋過動作可被接受

res內的都不能改嗎?因為我想順便將簡->繁,可是都不行
快速回复 返回顶部 返回列表