安卓反编译_apk可以反编译吗

安卓反编译_apk可以反编译吗本帖最后由好奇害死猫咪啊于2017-5-621:48编辑本教程为长期更新贴,有问题请及时反馈。如有更新请恕不另行通知。【前言】闲来无事水一贴。。。今天写个教程吧,反编译SystemUI实现状态栏时钟居中。其实说实话本来对华为靠右边的时间不怎么介意的,可一位朋友说什么也想换成类似iPhone的居中式,甚至不惜去刷XP框架,装重力工具箱。。当然了,结果大家可能已经想到了,首先是重力工…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本帖最后由 好奇害死猫咪啊 于 2017-5-6 21:48 编辑

本教程为长期更新贴,有问题请及时反馈。

如有更新请恕不另行通知。

【前言】

闲来无事水一贴。。。

今天写个教程吧,反编译 SystemUI 实现状态栏时钟居中。其实说实话本来对华为靠右边的时间不怎么介意的,可一位朋友说什么也想换成类似 iPhone 的居中式,甚至不惜去刷XP框架,装重力工具箱。。当然了,结果大家可能已经想到了,首先是重力工具箱对我大华为的 EMUI 支持不佳,其次是XP框架对华为支持不佳,最最重要的是,暂时没有安卓7.0的框架……吼吼,悲剧了哇~~~前几天突然想起这件事,就打算自己实践试试,备份在手,天下无忧……大不了重新刷机嘛~~后来居然成功了,激动~~

先来张效果图……

4a1200390b34ff11c00f8d7809b71c9b.gif

Screenshot_2017-03-31-07-34-27.png (932.89 KB, 下载次数: 44)

2017-3-31 13:00 上传

好了,现在正式开始……

【工具】

ApkTools工具包,ADB工具包(也可以用RE文件管理器,不过我更喜欢在电脑端操作,方便),一台已经装好 Java 并设置好环境变量的电脑,一台已经刷入了第三方rec的手机,啊对了,

仅测试了EMUI4.0,5.0的请勿测试!!

【背景知识】

在目前主流的安卓系统中,状态栏的显示是由 /system/priv-app/SystemUI.apk 控制的。因此我们只需要反编译它,修改控制状态栏的布局文件就可以了,全程不需要修改任何 smali 代码。因此理论上不需要对 SystemUI.apk 进行 deodex 处理,不过笔者使用的是已经 deodex 的 apk。尽管教程比较简单,但最好还是有一些关于 apk 的知识。

【测试机型】

Honor 7i 电信版 Android 6.0 EMUI 4.0.2

Windows 10 家庭版

【教程】

现在总结一下大致的思路吧~~~

1. 电脑装好 Java. 这一点不用我说了吧,教程在网上一抓一大把。下载 JDK 时要选择与电脑匹配的,配饰环境变量的时候要仔细些。当打开命令提示符,输入 Javac ,有一大串字符输出的时候,就可以了。否则,重复第一步……

2. 利用 Apktools 工具包。里面的工具已经更新过了。说到这里不得不吐个槽,现在在主流的刷机网站上能找到的工具基本上都是过时的,笔者的这个 Apktools 的更新时间居然是 2012年12月20日!!!!差评!无奈,幸亏笔者是老司机,平时有储备……咳咳,更新 aapt.exe ,更新 Apktools,更新了使用脚本……好吧,跑偏了。

3. 提取系统的 framework-res.apk、framework-res-hwext.apk 和 SystemUI.apk。你可以使用 RE 文件管理器复制到手机存储在导出到电脑。笔者直接利用 adb 命令导出。建议你将 ADB 工具包内的文件全部解压到 C 盘,WINDOWS 文件夹下的 System32 文件夹,这样在任何目录下都能使用 ADB 命令。然后桌面上不选择任何内容,按住 Shift 键同时鼠标右键,选择 “在此处打开命令窗口”。之后我们的一些操作都是在命令行下完成,因此最好不要关闭。使用以下命令拉取文件到电脑:

adb pull /system/framework/framework-res.apk

adb pull /system/framework/framework-res-hwext.apk

adb pull /system/priv-app/SystemUI/SystemUI.apk

要注意,手机要打开 USB 调试。而且严格区分大小写。

4. 反编译 SystemUI.apk ,找到状态栏的布局文件,然后修改一下即可

5. 回编译。并将回编译后的 Apk 文件中的 resources.arsc 和 status_bar.xml 文件 替换掉原文件本身内的相应文件。

6. 手机重启到rec,将修改后的 SystemUI.apk 推到手机,重启。至此,全部步骤完成。

然而,然而,然而!重要的事情说三遍!考虑到太多的篇幅会让小白同志们看到不耐烦,本人特地写了一个一键程序!!!!!!!!!小白专属,一键搞定!!鼓掌撒花!

【使用截图】

4a1200390b34ff11c00f8d7809b71c9b.gif

1.PNG (30.85 KB, 下载次数: 18)

2017-3-31 13:00 上传

4a1200390b34ff11c00f8d7809b71c9b.gif

2.PNG (28.05 KB, 下载次数: 15)

2017-3-31 13:00 上传

4a1200390b34ff11c00f8d7809b71c9b.gif

3.png (31.96 KB, 下载次数: 21)

2017-3-31 13:00 上传

工具的使用也是极其简单的,下载之后是一个压缩包,解压全部内容之后放到桌面,点击里面的 “开始.exe”,再按照步骤就可以了。

【注意事项】

1.  请严格按照工具内的步骤执行,过程中不要随便对手机和电脑进行操作,如果遇到工具中提示“完成后按任意键继续”的字样,请一定要完成后再按任意键继续!不要关闭工具窗口,只要最小化就行了。

2. 仅测试了 EMUI 4.0.2 版本,成功!考虑到反编译工具的有效性,EMUI5.0的请勿测试!

3. 工具内提供了作者的联系方式,如有问题请及时反馈。本帖为不定期更新贴,有了反馈后,作者也会在第一时间进行修复 bug 与更新。

4. 任何工具和教程都不可能百分百成功!尤其是此类修改系统文件的。建议做好备份。

5. 本人对不正确使用本工具从而造成的各种后果不负责任。

6. 您可以向作者索要源代码,您也可以对其进行任意形式的修改与再发布。不过请您注明原作者信息。

7. 转载请注明出处。最终解释权归原作者所有。

【工具下载】

( 内含Apktools工具,你只要安装好 Java ,准备好一个好用的文本编辑器就可以了 )

文件名称: Tools_StatusBarTimeCenter_EMUI4.0.2_v1.0_2017.3.31

文件格式:zip

文件大小:9.10MB

文件下载:

游客,如果您要查看本帖隐藏内容请回复

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192032.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月20日 下午4:22
下一篇 2026年1月20日 下午5:01


相关推荐

  • 详细介绍:Datawhale | 关于智能体(AI Agent)入门,一篇超详细的总结-下!(建议收藏)

    详细介绍:Datawhale | 关于智能体(AI Agent)入门,一篇超详细的总结-下!(建议收藏)

    2026年3月15日
    2
  • hint什么意思啊_unable to sendviapost to url

    hint什么意思啊_unable to sendviapost to url我先说下我的场景测试号群发图文消息答案是不能但是微信返回的错误信息是{“errcode”:40008,”errmsg”:”invalidmessagetypehint:[6MkYZa03824811]”}但是我检查了我的数据应该没问题,所以应该就是测试号不能群发,后面我在开发社区看到帖子原地址还有问了一下我们技术老大也证实了不能,至于微信的返回的错误码,暂时一米哇干奶…

    2022年5月3日
    55
  • 微信默认表情符号的代码对照表(微信公众号使用到)

    微信默认表情符号的代码对照表(微信公众号使用到)先给大家推荐几个好玩的微信昵称工具 微信上标电话号码生成器 微信下划线昵称生成器 微信彩色昵称生成器在微信用户可以发送表情符号 如下图 这些符号公众平台是将其处理成文本 下面就列出微信默认表情符号代码对照表 表情图片 字符串代码 替换关键字 微笑 伤心 B 美女

    2026年3月17日
    3
  • Oracle保留两位小数_java中怎么保留小数点后两位

    Oracle保留两位小数_java中怎么保留小数点后两位在最近的项目开发中,有个业务需求是界面显示的数字需要保留两位小数,目前我想到的解决方法有两种:(1)在写SQL的时候,直接保留两位小数(2)在java代码里面将查询出来的数进行格式化处理,保留两位小数先说第一种方案:在SQL中的处理我使用的oracle数据库,所以有3个函数可以选择,分别是:(1)ROUND(A/B,2)ROUND()函数是会将计算结果进行四舍五入的,如果所需

    2026年3月6日
    5
  • java图书销售系统,基于jsp的图书销售管理系统-JavaEE实现图书销售管理系统 – java项目源码…[通俗易懂]

    java图书销售系统,基于jsp的图书销售管理系统-JavaEE实现图书销售管理系统 – java项目源码…[通俗易懂]基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的图书销售管理系统,该项目可用各类java课程设计大作业中,图书销售管理系统的系统架构分为前后台两部分,最终实现在线上进行图书销售管理系统各项功能,实现了诸如用户管理,登录注册,权限管理等功能,并实现对各类图书销售管理系统相关的实体进行管理。该图书销售管理系统为一个采用mvc设计模式进行开发B/S架构项…

    2022年5月1日
    55
  • python3 typing_python类型注解

    python3 typing_python类型注解typing介绍Python是一门弱类型的语言,很多时候我们可能不清楚函数参数的类型或者返回值的类型,这样会导致我们在写完代码一段时间后回过头再看代码,忘记了自己写的函数需要传什么类型的参数,返回什

    2022年7月29日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号