不需要解包跟打包,直接修改就可以,修改的的方法。
如下参考:
1将需要修改的apk包复制到100apktool的路径中。注意:您需要将文件名更改为123apk,如下图。
2打开程序apktool。cmd,如下图。
3显示主界面有详细说明。我们只需要解压和压缩,如下图。
4输入1并按回车,首先解压缩,然后在当前路径下生成APK文件跟踪文件夹,如下图所示。
5在APK文件夹中输入specialzhidao,修改内容。添加资源文件(图像),如下图。
6输入3并按回车进行封装和数字签名,如下图。
7如果返回到Apktools/Apk/build路径,您将看到签名的通用Apk包,如下图。
要汉化,精简软件,一般需要把APK进行反编译与再编译,这就需要几个工具。
1 电脑上进行反编译的工具:
首先要有JAVA环境。
你可以去官网下载JAVA的JDK包。。。
也可以去搜网上有些大侠整出来的一键配置JDK环境的傻瓜包。
我是用的安智论坛里WWNG出品的一键配置包的。
其次要升级一下JAVA到70, 60的虽然能用,但经常会出错,(可能大家都用70的编译了吧)
jre-7u5-windows-i586exe
第三要有APKtool工具。
这个网上也到处都是。我还下载了一个小拽一键Apktool的工具。
有了这三个东东,基本上就可以了。
还有一个就是framework-resapk,如果你要反编译systemuiapk之类的这个一定要有。这个就是你手机里面Framework目录下的一个APK。
因为反编译systemuiapk或framework-resapk的时候你都得先加载这个。
一般的apk不需要先加载这个。
反编译步骤:
1 加载框架。
2 反编译你想改的APK。(这个要改的APK一般也放在你的Apktool目录下)
如果没有错误的话,一般就会在你的APKTool目录下生成一个以你的APK名字命名的文件夹。
里面大概有这两个目录,一个就是RES,一个就是SMALI。
一般要改的就是RES目录底下的东东。
汉化, 你可以将Values目录下的 Stringsxml 里面的条目一个一个汉化,然后用汉化后的替换掉 这个原始的Stringsxml,
也可以另建一个目录 Values-zh 或Values-zh-rcn,把汉化后的Stringsxml放进去。
(一般地, Values-zh 是放的香港版的汉化文件(繁体),而Values-zh-rcn 里放的是简体中文的汉化文件)
有时候,不光是Stringsxml , 还有 arraysxml 这里也有需要汉化的地方,也是一样的,逐行汉化吧。
汉化完了你可以直接替换掉Values里的arraysxml,也可以和Stringsxml一样放在新建的Values-zh 或Values-zh-rcn里。
精简,你可以把Values开头的所有目录,但不包含(V11,V19之类的),删除掉。只留下Values和Values-zh 或Values-zh-rcn就可以了。如果你追求更小的体积,那就直接把Values-zh 或Values-zh-rcn目录里的文件替换掉Values目录里的就行了!
如果不出问题,你就可以回编了!
回到一键Apktool里,按3, 回编。
回编正确完成后,就会在“回编apk生成目录”下生成一个修改后的APK
为防止回编时Smali出错导致程序无法运行,建议把原APK里的Classesdex复制到修改后的APK里面。
最后,用APKSignexe给修改后的APK签名,大功告成。
当然,这只是最基本的操作。 也许拿一个APK来改一改的时候会出现各种状况,让你搞不下去,那也等以后再说了。
2手机上反编译的工具
APKTool 441 去搜一下吧。 官方下载应该是 Codegooglecom/p/apktool ,但是非常难进这个页面。进去了也很难下载。不知道是不是因为天朝的原因。
这个在手机上用的。先安装Apktoolapk,然后运行它,它会提示你没有指定Apktool数据目录。找到你的Apktool目录,指定它。然后你就可以开始反编译了!
其实如果你只是要汉化或更简单地只是给软件改改名字,建议用MT文件管理器。
这玩意太强大了。打开Mt文件管理器,点击要修改的APK,弹出一个窗口,最左边是查看,最下面是XML翻译模式。最右边是签名,中间是安装。
点击 查看, 它就会把APK解压,然后你就可以看到 ckessesdex 和 resourcesarsc 了。
点击Rescourcesarsc,就会出现Arsc编辑器,可以搜索字符串,还可以进入翻译模式。
点击翻译模式,里面就有Default目录和一些其它目录了。你只要对Default目录里的东东一条一条汉化就可以了!
汉化完成点保存,再保存,退出来之后就会有一个修改好的APK了,而原来那个会自动备份。
再点击那个修改好的APK,这次选择 签名 。 签名完成后会生成一个 原APK名_singedapk 的新APK,
点击这个新APK,这次选择安装! 你就可以试试你修改的程序能不能正常运行了!
一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1用解压工具从 apk包中取出 classesdex 文件
用命令(dex2jarbat classesdex)得到一个 jar文件
2用jd-gui反编译工具将得到jar文件反编译成java文件
三、使用apktool得到apk的xml文件
1用命令(apktool d xxxapk xxx_xml)反编译xxxapk包
2从 xxx_xml 文件夹得到xml文件
四、第二步 得到的程序源代码 和 第三步 得到的xml文件组合下,即可得到完整的apk源码。
五、应用: 汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1在步骤三的文件夹xxx_xml/res/ 下, 建文件夹: values-zh-rCN,values-zh-rTW
21复制values\stringsxml 到 values-zh-rCN 并翻译
22 去广告见;
3重建APK,用命令(apktool b xxx) ,输出到ABC/dist/outapk
或命令( apktool b xxx outapk)
六、重新打包 和 签名
无法打开。APK是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。
APK是类似SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
Android是一个基于Java的开发环境,Google也在API文档的书写和样例的提供上做了很出色的工作。
扩展资料
apk文件反编译方法
以apkdb编译apk文件为例,只需要在安装apkdb后,直接右击反编译就可以将apk文件反编译出来。
1、使用原生apktool工具,需要将apktool的两个文件释放到window目录下,在cmd中使用 apktool d apk文件名命令来编译apk文件,此时命令行的执行目录与apk文件所在目录必须一致。
2、首先将apk文件,将后缀改为zip,解压,得到其中的classesdex,它就是 java文件编译再通过dx工具打包而成的;将classesdex复制到dex2jarbat所在目录。在命令行下定位到dex2jarbat所在目录,运行 dex2jarbat classesdex。
-apk
1、反编译=回编译后分别是
smali目录 回编译为 classesdex 文件
res目录 回编译为 resourcesarsc 文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali 。
所以,如果没有对smali(classesdex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。
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,apktool d SysteUIapk 12意思是将SystemUIapk解包到12文件下,12文件夹不用创建,会自动生成
2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,生成resourcesarsc,文件,这就是我们反编译的主要目的,当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。
3,apktool if framework-resapk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-resapk(framework是指系统框架。有时也会用到apktool if twframework-resapk,同样我们只需在前面输入就行。当然得把framework-resapk 这个文件目录下。
4,apktool if twframework-resapk ,当然 twframework-resapk 也应该放在文件目录下,不如反编译Mmsapk会用到
知道这四条语句我们就可以进行反编译了。
已反编译SystemUIapk为例,,下面开始讲解
现在cmd下输入apktool if framework-resapk(并把framework-resapk 放在文件目录下)apktool if twframework-resapk( twframework-resapk 也应该放在文件目录下 )其实这两部就是搭建安卓系统环境 ,输入完后在解包,apktool d SystemUIapk 12就行了
欢迎分享,转载请注明来源:品搜搜测评网