找回密码
 注册
快捷导航
查看: 10840|回复: 19

[其它] 【原创】Android高级话题之:编译与反编译apk文件及java环境设置

[复制链接] |自动提醒
阅读字号:

9万

回帖

1055

积分

1万

资产值

管理员 Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

注册时间
2001-11-20
金牌荣誉勋章(注册20年以上会员)银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)月全勤勋章年全勤勋章2022年全勤勋章2023年全勤勋章2024
发表于 2012-5-30 11:50:53| 字数 2,583| - 中国–广东–深圳 电信 | 显示全部楼层 |阅读模式
无须编程经验,一样可以修改Android系统之apk文件,达到自行修改系统特性或美化系统的目的。

第一步:下载,安装java环境:
http://cloud.189.cn/t/qIR3Yr

下载之后安装,安装完成。

第二步:设置java环境:
安装好java之后,记下其安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0 然后:
1、点击“我的电脑”=>“系统属性”=>“高级”=>“环境变量”,新建两个分别是JAVA_HOME和CLASSPATH,变量值分别是对应的java安装目录,如:
JAVA_HOME对应C:\Program Files (x86)\Java\jdk1.7.0
CLASSPATH对应 .;C:\Program Files (x86)\Java\jdk1.7.0\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.7.0\lib\tools.jar
注意变量前的.和;必须加上。如图:


2、再点击下面的“系统变量”的Path,双击,在前面添加上对应的路径(不同版本及系统安装的路径不同,自己对应),如:
C:\Program Files (x86)\Java\jdk1.7.0\bin;C:\Program Files (x86)\Java\jre6\bin;
注意后面要加上分号;

3、确定设置好之后,打开DOS窗口,输入java -version,如果看到版本信息,则说明java环境设置成功。如图:


第三步:java环境设置好之后,就可以用工具软件来反编译了,先下载工具:


然后打开该工具,并用re管理器将相应的apk文件拷贝出来进行反编译。以下就以修改MOTO XT894手机默认的自动亮度级别为例,说明一下如何操作。
MOTO XT894的默认亮度很高,比较费电,就可以自己修改其默认的亮度来达到省电的目的。

1、先用re管理器将/system/framework/framework-res.apk拷贝出来,然后用DoAPK将其反编译;

2、打开反编译后的目录res/values下的arrays.xml文件,用notepad打开即可,找到这一行:
<integer-array name="config_autoBrightnessLevels">
可以看到其下面的亮度级别只有三档:
        <item>50</item>
        <item>3000</item>
        <item>8000</item>

修改为:
        <item>10</item>
        <item>50</item>
        <item>100</item>
        <item>150</item>
        <item>200</item>
        <item>700</item>
        <item>1300</item>
        <item>2000</item>
        <item>3000</item>
        <item>4000</item>
        <item>5000</item>
        <item>6000</item>
        <item>7000</item>
        <item>8000</item>
        <item>9000</item>
修改为16档,够多了吧,再将下一行:
    <integer-array name="config_autoBrightnessLcdBacklightValues">
的对应亮度的值:
        <item>48</item>
        <item>88</item>
        <item>206</item>
        <item>246</item>

修改为:
        <item>5</item>
        <item>10</item>
        <item>20</item>
        <item>30</item>
        <item>40</item>
        <item>50</item>
        <item>60</item>
        <item>70</item>
        <item>80</item>
        <item>90</item>
        <item>100</item>
        <item>110</item>
        <item>120</item>
        <item>130</item>
        <item>140</item>
        <item>150</item>

保存退出。

2、用DoAPK工具将其编译回去,如下图选择对应的目录及存放apk文件的目录即可:


3、还有关键一步,就是将重新编译所得的apk文件,用winrar打开,将其里面的resources.arsc文件解压出来,我们只需要用到这个文件,而不是重新编译回来的整个apk文件;然后将这个resources.arsc添加覆盖回去之前拷贝出来的framework-res.apk文件里面,获得一个新的framework-res.apk文件。

4、用re管理器,将新的framework-res.apk文件拷贝手机卡,再拷贝到/system目录下,设置权限为rw-w-r,即第一行钩上Read,Write,第二行和第三行只钩上Read,设置好权限之后,再拷贝覆盖到system/framework目录下,退出重启一下即生效。注意一定要先在system目录下设置好权限,才拷贝到system/framework目录下,否则。。。重新刷机吧。

至此,工程完成,HOHO。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1技术分 +1 收起 理由
song_1118 + 1 精品文章

查看全部评分

人生满希望
T700: i7-1195G7, 64GB RAM, 1T M.2+2T HDD, 15in UXGA(1600x1200) LED    |   X62s: i7-5600u, 32GB RAM, 128GB mSATA, 12.1in SXGA+ AFFS LCD
X2100: i7-10710u, 32GB RAM, 512GB M.2, 13in WQXGA LCD(3000x2000)      |   T70: Xeon(R)E3-1505L, 32GB RAM, 512GB M2+ 2TB HDDx2(Raid1)

2936

回帖

22

积分

2667

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2010-4-14
发表于 2012-5-30 12:04:07| 字数 12| - 中国–广西–南宁 电信 | 显示全部楼层
一看就知道是老大的技术贴
习惯习惯就好。
回复 支持 反对

使用道具 举报

2374

回帖

21

积分

5745

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2010-11-11
铜牌荣誉勋章(注册8年以上会员)
发表于 2012-5-30 22:14:24| 字数 6| - 中国–天津–天津 电信 | 显示全部楼层
好贴 mark
X61 T8100 4G 7K500 1G Ultrabase 160G
R50 PM745 2G 40G+320G
HTC ONE
回复 支持 反对

使用道具 举报

song_1118 - T50-3

2万

回帖

562

积分

2万

资产值

天下无敌I Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2002-9-13
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2012-5-31 11:08:15| 字数 35| - 中国–广东–广州 电信 | 显示全部楼层
========
     这个不错,是很重要的安卓系统修改和美化的基础知识之一。
★★★★★★A3党党员★★★★★★
所有品牌的本本里面我最爱ThinkPad
但是我并不会强迫他人最爱ThinkPad
同时谁也不能强迫我不最爱ThinkPad
回复 支持 反对

使用道具 举报

1万

回帖

188

积分

10万

资产值

荣誉版主 Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

注册时间
2003-3-7
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2012-5-31 11:18:30| 字数 6| - 中国–辽宁–大连 联通 | 显示全部楼层
技术流~~~
回复 支持 反对

使用道具 举报

5415

回帖

42

积分

2万

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2005-10-11
发表于 2012-5-31 21:43:17| 字数 5| - 中国–江苏–南京 电信 | 显示全部楼层
技术贴支持
回复 支持 反对

使用道具 举报

592

回帖

0

积分

446

资产值

入门会员 Rank: 1

注册时间
2006-4-30
发表于 2012-6-3 14:47:56| 字数 10| - 中国–广东 电信 | 显示全部楼层
混淆过的代码能用不?
I series=>t42=>t43=>x40=>x41t=> x60s=>t60p=>X61T=>X200S
x200s 1.6g  8g ssd 64g
回复 支持 反对

使用道具 举报

1612

回帖

31

积分

3691

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-4-28
银牌荣誉勋章(注册10年以上会员)
发表于 2012-6-3 17:45:13| 字数 9| - 中国–湖北–荆门 电信 | 显示全部楼层
顶下老大的技术贴!
-----T14_Gen1-----
--K30s---
回复 支持 反对

使用道具 举报

1410

回帖

27

积分

1万

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2008-3-24
发表于 2012-6-3 17:49:40| 字数 13| - 中国–澳门 澳门电讯 | 显示全部楼层
馬克~~多傳授點安致知識~
R61   T9300/4GB/120SSD+500G
X220  i5/8GB/180SSD+250SSD
MBPr  i5/8GB/256GB/13"Retina
回复 支持 反对

使用道具 举报

9万

回帖

1055

积分

1万

资产值

管理员 Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

注册时间
2001-11-20
金牌荣誉勋章(注册20年以上会员)银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)月全勤勋章年全勤勋章2022年全勤勋章2023年全勤勋章2024
 楼主| 发表于 2012-6-3 17:57:59| 字数 58| - 中国–广东–深圳 电信 | 显示全部楼层
QUOTE:
Posted by bladechan on 2012-6-3 14:47
混淆过的代码能用不?


什么是混淆过的代码?
人生满希望
T700: i7-1195G7, 64GB RAM, 1T M.2+2T HDD, 15in UXGA(1600x1200) LED    |   X62s: i7-5600u, 32GB RAM, 128GB mSATA, 12.1in SXGA+ AFFS LCD
X2100: i7-10710u, 32GB RAM, 512GB M.2, 13in WQXGA LCD(3000x2000)      |   T70: Xeon(R)E3-1505L, 32GB RAM, 512GB M2+ 2TB HDDx2(Raid1)
回复 支持 反对

使用道具 举报

80

回帖

0

积分

202

资产值

禁止访问

注册时间
2012-1-18
发表于 2012-6-3 18:02:48| 字数 53| - 中国–湖南 电信 | 显示全部楼层
GOogle官方出的apktool就可以,呵呵,那些要不要权限多的国产应用,可以先改一下权限后再打包安装。
回复 支持 反对

使用道具 举报

568

回帖

27

积分

8551

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-6
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2012-6-3 18:26:49| 字数 6| - 中国–江苏–苏州 电信 | 显示全部楼层
这个帮顶了啊
回复 支持 反对

使用道具 举报

592

回帖

0

积分

446

资产值

入门会员 Rank: 1

注册时间
2006-4-30
发表于 2012-6-3 23:53:02| 字数 64| - 中国–广东–茂名–高州市 电信 | 显示全部楼层
QUOTE:
Posted by HOPE on 2012-6-3 17:57


什么是混淆过的代码?

编译的时候为防止逆向用混淆器混淆过的代码。
I series=>t42=>t43=>x40=>x41t=> x60s=>t60p=>X61T=>X200S
x200s 1.6g  8g ssd 64g
回复 支持 反对

使用道具 举报

9万

回帖

1055

积分

1万

资产值

管理员 Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

注册时间
2001-11-20
金牌荣誉勋章(注册20年以上会员)银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)月全勤勋章年全勤勋章2022年全勤勋章2023年全勤勋章2024
 楼主| 发表于 2012-6-3 23:56:28| 字数 18| - 中国–广东–深圳 电信 | 显示全部楼层

回复 #13 bladechan 的帖子

没有试过,目前试的是系统自带的模块。
人生满希望
T700: i7-1195G7, 64GB RAM, 1T M.2+2T HDD, 15in UXGA(1600x1200) LED    |   X62s: i7-5600u, 32GB RAM, 128GB mSATA, 12.1in SXGA+ AFFS LCD
X2100: i7-10710u, 32GB RAM, 512GB M.2, 13in WQXGA LCD(3000x2000)      |   T70: Xeon(R)E3-1505L, 32GB RAM, 512GB M2+ 2TB HDDx2(Raid1)
回复 支持 反对

使用道具 举报

1085

回帖

27

积分

1万

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-11-26
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2012-6-4 00:27:14| 字数 8| - 中国–新疆–巴音郭楞蒙古自治州 电信 | 显示全部楼层
学习了,谢谢分享
X32--X200 -X61T-X61-T430S-X230
回复 支持 反对

使用道具 举报

62

回帖

1

积分

140

资产值

初级会员 Rank: 1

注册时间
2012-5-14
发表于 2012-6-7 10:04:37| 字数 4| - 中国–北京–北京 鹏博士BGP | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

2484

回帖

1

积分

9659

资产值

入门会员 Rank: 1

注册时间
2008-1-20
发表于 2012-6-8 19:57:01| 字数 10| - 中国–广东–深圳 移动 | 显示全部楼层
很重要的安卓系统修改
浪漫之城欢迎您!
骗子“哥一直被模仿”、there、张阳、朱伟442613525……就是一个人的!
回复 支持 反对

使用道具 举报

2751

回帖

31

积分

2万

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2008-6-27
年全勤勋章2022月全勤勋章银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)
发表于 2012-6-9 07:25:03| 字数 7| - 中国–广西–南宁–西乡塘区 电信 | 显示全部楼层
mark留念!
n64ngc竹林七闲鱼V
T42退役-->T400换P9500-->T440s回到win7
回复 支持 反对

使用道具 举报

20

回帖

0

积分

60

资产值

入门会员 Rank: 1

注册时间
2012-10-16
发表于 2012-11-12 16:11:05| 字数 13| - 中国–浙江 电信 | 显示全部楼层
精华的技术文章啊,谢谢楼主
回复 支持 反对

使用道具 举报

515

回帖

0

积分

3054

资产值

入门会员 Rank: 1

注册时间
2007-6-12
发表于 2012-11-12 21:17:50| 字数 28| - 中国–江苏–无锡 电信 | 显示全部楼层
为什么不能用这个工具编译生成的APK文件直接覆盖原文件?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-1-21 15:25 , Processed in 0.191738 second(s), 63 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部