[5.1.1][odex/deodex]教你如何反编译在设定里添加"自启管理"功能

索尼[5.1.1][odex/deodex]教你如何反编译在设定里添加"自启管理"功能,已经通过测试机型:索尼Z2 Z3 5.1.1系统.

论坛和XDA搜索了半天都是只有4.3和5.0的教程,然并卵,在5.1.1上不通用,经过两天的研究,已经大概了解5.1.1的编译方法,现分享给大家,送给喜欢玩机的朋友!
XDA有个5.02的方法,希望喜欢折腾的朋友可以去看看: http://forum.xda-developers.com/showthread.php?p=49809567  
5.02大家还可以参考 SANKE81146990 的这个方法:http://bbs.gfan.com/android-7827730-1-1.html

本教程全部适用于已经合并deodex或者未合并odex系统。适用于最新的安卓5.1.X系统,设定里添加自启管理功能很实用,推荐各位喜欢玩机的朋友学习..
本教程会对初学者产生头晕眼花的幻觉,推荐有一定反编译基础的朋友学习,如果你还没反编译过任何APK,不推荐你继续看下去,否则有可能会照成头晕眼花的幻觉
.

前提准备:
1、一台已经配置JAVA环境的电脑.
2、一个能反编译的apktool工具..
3、Notepad++(百度一下有下载)


反编译教程:

1、下载这个素材附件待用:
本帖隐藏的内容
  5.1.1_Autostarts-files.zip (23.31 KB)



2、反编译你的 Settings.apk,注意先把framework-res.apk设为框架,否则在编译Settings.apk有可能会出错 .

3、用Notepad++打开Settings/res/xml/dashboard_categories.xml
查找:
  1. <dashboard-category android:id="@id/system_section" android:title="@string/header_category_system">
复制代码
在这句的下一行加上这句代码(注意格式要对齐):
  1. <dashboard-tile android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
复制代码
如下图所示后然后保存dashboard_categories.xml
001.png 

4、把附件素材解压,将xml/的autostarts_settings_header.xml放到Settings/res/xml/

5、添加英文字符语句。打开Settings/res/values/strings.xml,在最后面,添加下面的语句:
  1.     <string name="autostarts_title">Autostarts</string>
  2.     <string name="autostarts_allowed">Has allowed</string>
  3.     <string name="autostarts_prohibited">Has Prohibited</string>
  4.     <string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
  5.     <string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
  6.     <string name="autostarts_empty_msg">No installation boot applications</string>
  7.     <string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
  8.     <string name="autostarts_optimize_btn_title">Optimize the startup items</string>
  9.     <string name="autostarts_all_btn_title">All autostarts items</string>
复制代码
如下图所示,然后保存strings.xml.
002.png 

接着,我们来添加简体中文字符语句。打开Settings/res/values-zh-rCN/strings.xml,在最后面,添加以下语句:
  1.     <string name="autostarts_title">自启管理</string>
  2.     <string name="autostarts_allowed">已经允许</string>
  3.     <string name="autostarts_prohibited">已经禁止</string>
  4.     <string name="autostarts_allow_progress_msg">正在允许自动启动,请稍等...</string>
  5.     <string name="autostarts_prohibit_progress_msg">正在禁止自动启动,请稍等...</string>
  6.     <string name="autostarts_empty_msg">没有安装自动启动程序</string>
  7.     <string name="autostarts_optimize_empty_msg">没有优化启动项目</string>
  8.     <string name="autostarts_optimize_btn_title">已优化项目</string>
  9.     <string name="autostarts_all_btn_title">所有启动项目</string>
复制代码
如下图所示,然后保存strings.xml.

003.png 

6、打开Settings/res/values/ids.xml,在最后面,添加以下语句:
  1.     <item type="id" name="autostarts_settings">false</item>
  2.     <item type="id" name="appName">false</item>
复制代码
如下图所示,然后保存ids.xml.
004.png 

7、将附件内的文件按照下面的位置放好:
把附件素材内res/drawable-xxhdpi/ic_settings_autostarts.png 放到Settings/res/drawable-xxhdpi/
把附件素材内res/layout/manage_autostarts.xml和manage_autostarts_item.xml 放到Settings/res/layout/
把附件素材内smali/com/android/settings/autostarts文件夹 放到Settings/smali/com/android/settings/

8、用apktool 工具 回编译目前做好的Settings.

以上说明你已经成功了一半,但接下来最困难的就在下面,我在当初就是卡在这里很久,因为我找不到 LewaManageAutostarts.smali 的行数,然而5.02的public id 行数位置和5.1.1不一样,所以你们要认真看好下面的教程,随机应变!

9、接着直接反编译Settings/已编译/Settings.apk (这样做的目的是为了得到即将用到的public id )

10、
Notepad++ 打开第二次反编译后的Settings/res/values/public.xml ,再打开Settings/smali/com/android/settings/autostarts/LewaManageAutostarts.smali.

11、在 public.xml (ctrl+f)里搜索查找下面的 id ,替换到 LewaManageAutostarts.smal 后,保存 LewaManageAutostarts.smal.
查找:
  1. 查找 manage_autostarts
  2. 替换到 LewaManageAutostarts.smali 第 521 行
复制代码
如下图这样.
005.png 

剩下的几个id依次像上面那样做。
  1. 查找 autostarts_allowed
  2. 替换到 LewaManageAutostarts.smali 第 257 行
  3. 查找 autostarts_prohibited
  4. 替换到 LewaManageAutostarts.smali 第 336 行
  5. 查找 autostarts_allow_progress_msg
  6. 替换到 LewaManageAutostarts.smali 第 692 行
  7. 查找 autostarts_prohibit_progress_msg
  8. 替换到 LewaManageAutostarts.smali 第 160行
  9. 查找 autostarts_empty_msg
  10. 替换到 LewaManageAutostarts.smali 第 571 和第 642 行
  11. 查找 autostarts_optimize_empty_msg
  12. 替换到 LewaManageAutostarts.smali 第 665 行
  13. 查找 autostarts_optimize_btn_title
  14. 替换到 LewaManageAutostarts.smali 第 507 和第 636 行
复制代码
12、继续在 public.xml 搜索查找以下条目的 id ,用 Notepad++ 打开Settings/smali/com/android/settings/autostarts/LewaManageAutostarts$AppAdapter.smali, 复制 public.xml的id 到 LewaManageAutostarts$AppAdapter.smali 替换,保存 LewaManageAutostarts$AppAdapter.smali.
  1. 查找 <public type="layout" name="manage_autostarts_item"
  2. 替换到 LewaManageAutostarts$AppAdapter.smali 第 133 行
  3. 查找 <public type="id" name="icon"
  4. 替换到 LewaManageAutostarts$AppAdapter.smali 第 142 行
  5. 查找 <public type="id" name="appName"
  6. 替换到 LewaManageAutostarts$AppAdapter.smali 第 158 行
  7. 查找 <public type="id" name="status"
  8. 替换到 LewaManageAutostarts$AppAdapter.smali 第 176 行
  9. 查找 <public type="id" name="app_on_sdcard"
  10. 替换到 LewaManageAutostarts$AppAdapter.smali 第 600 行
复制代码
13、最后,用apktool工具回编译现在修改好的Settings.apk,将回编译好的Settings.apk 以zip方式打开,将res文件夹和 resources.arsc 以 存储模式、classes.dex 以 标准模式 拉到 最初的 Settings.apk.


效果截图:

Screenshot_2015-08-10-18-36-18.png  Screenshot_2015-08-10-18-37-13.png Screenshot_2015-08-10-18-38-13.png  Screenshot_2015-08-10-18-38-34.png 

昨晚一夜没睡觉去研究,今天花了2个半小时码字写的教程。给个评分吧,发帖没有工资,你们的评分是对我最大的支持和动力!


http://bbs.gfan.com/android-8042618-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值