apkdb反编译成java
1. 是不是已经签名的apk 无法使用apkdb反编译
一、可以使用如APKTool之类的反编译工具,使用方法网上有介绍,反编译完成后修改所有引用包名的地方及对应的文件夹,然后重新编译为新的APK,最后再用签名工具签名就行。
二、第一步是用命令行的形式进行的,如果不愿意进行繁琐的配置过程,可以使用一些可视化的APK修改工作,如APK改之理、VTS(Virtuous Ten Stdio)等,但主要修改的地方更第一步是一致的。
2. Android APK+Dex文件反编译及回编译工具的使用说明
本工具执行安装后,直接在【鼠标右键】生成快捷键,自动关联APK、DEX、Odex、Zip等文件。只要在电脑任意“非分区根目录”,【鼠标右键】点击相关文件,即可编译操作。如,反编译APK及DEX文件,反编译后生成可编译的同名文件夹,汉化修改完成后,对文件夹点击【鼠标右键】根据文件夹反编译前的文件类型,现在【使用 APKDB编译】即可!
同时,针对apk和zip文件增加签名操作,只要【鼠标右键】点击,选择【使用 APKDB编译】选择【[S]签名APK文件】即可!签名前无需删除原来的【META-INF】签名数据。本工具会判别apk还是zip并自动删除签名数据。
3. apkdb执行反编译一闪而过就什么也没有
APKDB是一款,针对Android OS系统的APK程序,直接反编译修改的工具。其实,本工具是一个工具集合箱,直接在【鼠标右键】创建快捷菜单;非常方便汉化工作者,对APK或Dex文件进行简易的反编译回编译操作;集合了当今最强悍,最犀利的APK及Dex文件编译工具;
但安装过程阻碍多多,这里向大家说说这个工具的安装经验:
1、被杀毒软件拦截误杀(安装前,关闭杀毒软件)
2、没有管理员权限(右键以管理员身份运行C:\Apkdb\安装.exe)
或者,使用兼容模式 (右键-属性-兼容性-兼容模式[Windows XP SP3])
以及 特权等级 勾选“以管理员身份运行此程序”
3、UAC限制 安装过程没有写入注册表提示,直接显示安装完成
(右键 我的电脑-管理-本地用户和组-用户-Administrator(√ 密码永不过期)
4、安装成功,安装过程有写入注册表提示,但是右键APK 没有菜单
(检查是不是安装了PC版的手机管理工具,关联了APK文件。请手动管理本工具的安装器)
5、安装后无法编译文件,提示JAVA 错误
(未安装JAVA平台,或安装错误。请卸载后重启电脑,重装再次重启电脑)
6、安装成功后,编译文件提示 “Can't create the output directory \\****\smali”
(这是文件夹 没有写入权限。检查是否直接在硬盘分区根目录编译了?
Apktool不能在磁盘分区。如:C盘 D盘 根目录!
如果不是根目录,请检查apk文件名称是不是有问题。如,文件名结尾空格。)
7、能反编译,但无法回编译
(可能是被旧版本的Apktool编译过,试试用旧版的反编译,用新版的回编译)
8、回编译出错问题:
(1.提示 strings.xml 最后一行错误,检查是否</string>符号错误;
(2.提示 strings.xml 最顶部含中文代码首行错误,编码格式不对,转换成 UTF-8;
(3.提示 public.xml 出错,检查改动过的 arrays.xml 是否代码有错误的地方;
使用过程中的说明
1、需要反编译的APK文件名称,不可以使用中文,否则无法回编译。
2、反编译后的文件夹不要重命名,否则自动签名会失败(控制在:apktool.yml)。
3、APK文件不能放在分区根目录直接反编译,请放在子目录内。
4、部分功能需要 NET.Framework 4.0 的支持!如:显示APK自身图标。
4. APK反编译后回编译失败是为什么
、反编译=回编译后分别是
smali目录 回编译为 classes.dex 文件
res目录 回编译为 resources.arsc 文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali 。
所以,如果没有对smali(classes.dex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。1、反编译=回编译后分别是
smali目录 回编译为 classes.dex 文件
res目录 回编译为 resources.arsc 文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali 。
所以,如果没有对smali(classes.dex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。
3、出错问题1
在汉化时,往往会不小心删掉一些符号,如 "<" ">"符号等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
这些小小的错误都会导致回编时译检查出错。
所以汉化时,注意对校,然后再回编译。
建议使用一些高级的文本编辑器,支持语法高亮视图的。
4、出错问题2
最近发现有些APK文件 反编译后,就算不汉化直接回编译,都会出错。
有可能的原因1,反编译后XML文件语法中@符号 前面多了"\" (\@ ),
用文本编辑工具 直接替换【\@】为【@】,应该可以解决。
建议使用最新版本的反编译工具。
5、建议大家使用新版本的APKTool工具,
当然如果新的有问题也可以试试旧的一、系统文件汉化再次强调
1、汉化Settings.apk(系统设置)、MMS.apk(信息)、Phone.apk(电话)、
等等系统文件,一定要先 安装构架,具体看另个文件
<关于APKTool工具反编译Settings.apk问题>。
2、系统文件汉化完后不需要签名,直接替换汉化后的文件,就可以了。
主要是,系统文件放在系统目录,无需再次读取签名获得权限,已经是高级了。
二、打包说明
1、通常汉化完回编译后,会自动生成所有APK内的文件,或者自动生成*.APK文件。
但是建议大家不要直接使用该文件,进了使用替换法,替换掉你汉化后的文件,
如:resources.arsc,如果修改过的图片,等等…
2、很多人对于APK文件 解压缩或压缩 都用“WinRAR”或“好压”,这里不推荐。
希望大家安装7-Zip这个压缩工具,对于zip格式的支持是最好的。而且很方便,
不需要重新关联apk 直接右键打开就行了。替换直接拖拉进去,就OK了一、回编译出错问题
(1.提示 strings.xml 最后一行错误,检查是否</string>符号错误;
在汉化时,往往会不小心删掉一些符号,如 "<" ">"符号等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
(2.提示 strings.xml 最顶部含中文代码首行错误,编码格式不对,转换成 UTF-8;
(3.提示 public.xml 出错,检查改动过的 arrays.xml 是否代码有错误的地方;
二、一切能正常但无法回编译
还有一种情况,apktool最新版本能正常反编译一个apk文件,在未做任何修改的情况下,无法回编译。
这是就要注意了,可以尝试一下用低版本的apktool进行【反编译】,然后在用高版本的apktoo工具【回编译】。
这里向大家推荐用 【APKDB】 这个工具,很方便,反编译时可以选择apktool的版本。