`
radio123
  • 浏览: 207033 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

一个APK反编译利器Apktool(android汉化)

阅读更多

转自:http://www.andmoto.com/viewthread.php?tid=3873

APK 本地化/修改利器 —— 《android-apktool》

本帖最后由 花无心 于 2010-4-16 01:35 编辑

说起APK的汉化,目前大部分教程都是让用Hex Workshop或者Android ResEdit来做。但是实际操作后,就会发现:
1、Hex Workshop操作繁琐,经常出现搜不到想要修改的字符的情况;
2、Android ResEdit简单用用可以,修改稍微复杂一点就会出现整条整条丢字符串的情况;并且新内容不能比原内容长——谁能保证我的本地化语言就一定比原来的短呢?

现在好了,老外写的《android-apktool》软件,可以帮助我们把APK反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们对图片和语言资源等文件修改后,可以再把它们编译打包成APK,签名后就是手机可以安装的本地化/修正版APK了。

《android-apktool》软件软件可以访问它的主页http://code.google.com/p/android-apktool/ 下载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。下载后解开,为了方便使用,按作者的推荐把得到的4个文件复制到C:\Windows文件夹里。

这个工具是Java写的,需要你的电脑安装了JRE或者JDK,并在系统环境变量Path里加入java.exe所在路径。

以上准备工作做好后,就可以用它来反编译APK了。这里我用动态壁纸的APK来做示范。

如果用过动态壁纸,你也许会发现在设置壁纸时,界面的显示有点问题:“动态壁纸”,在手机上中文显示为“当前壁纸”。这是“动态壁纸选择器”LiveWallpapersPicker.apk的翻译错误造成的。

(假设LiveWallpapersPicker.apk放在C盘根目录)

开始 > 运行,输入cmd,回车。
  1. apktool d "C:\LiveWallpapersPicker.apk" "C:\LiveWallpapersPicker"
复制代码
(命令行解释:apktool d 要反编译的文件 输出文件夹)

这样,LiveWallpapersPicker.apk就被反编译了,输出内容在C:\LiveWallpapersPicker文件夹里。

打开C:\LiveWallpapersPicker文件夹,我们发现里面有一些XML文件和一些文件夹。绝大部分情况下,语言和图片资源都在res文件夹里,我们这个例子当然不例外。

打开res文件夹,可以其中又是很多文件夹。(又是)绝大部分情况下,语言资源都放在values*文件夹里。比如说values放默认语言(英语居 多),values-de放德语,values-fr放法语等等。一般我们关心的是values-zh-rCN(简体中文)和values-zh- rTW(繁体中文)。

打开values-zh-rCN文件夹,其中有个strings.xml。打开看看:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <string name="application_name">动态壁纸选择器</string>
    <string name="live_wallpaper_picker_title">当前壁纸</string>
    <string name="live_wallpaper_preview_title">当前壁纸预览</string>
    <string name="configure_wallpaper">设置...</string>
    <string name="wallpaper_instructions">设置壁纸</string>
    <string name="live_wallpaper_empty">无当前壁纸。</string>
    <string name="set_live_wallpaper">设置壁纸</string>
    <string name="wallpaper_title_and_author">%1$s提供者:%2$s</string>
    <string name="live_wallpaper_loading">正在载入当前壁纸…</string>
</resources>


很好,就是它了。把“当前壁纸”都改为“动态壁纸”,再检查和修正标点——中文内容用中文标点(强烈呼吁大家注意标点问题,目前马大哈太多了) 后,保存。

本例改这么多就够了。其它复杂的APK建议把res文件夹里的内容都检查下,至少你关心的语言文件夹里的内容都检查下。

改完后,就可以重打包了。还是在cmd命令行里,输入:
  1. apktool b "C:\LiveWallpapersPicker"
复制代码
(命令行解释:apktool b 要打包内容所在文件夹)
就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。

这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html ,这里不说了。

签名后得到的APK,就是可以装到手机里的了。
分享到:
评论

相关推荐

    APK反编译签名工具APKTOOL 1.4.9 支持安卓4.1

    总的来说,APKTOOL是一个强大的开发和分析工具,对于Android开发者和安全研究者来说,它是理解、调试和定制APK文件不可或缺的利器。然而,使用时必须遵循适当的伦理和法律规范,以避免不必要的麻烦。

    Apktool反编译工具

    **Apktool反编译工具**是Android开发者和安全研究人员常用的一款开源工具,主要用于对APK文件进行反编译、修改和重新打包。这个工具能够帮助我们深入理解APK文件的内部结构,包括查看源码、修改资源以及签名等操作。...

    apk反编译工具

    总之,APK反编译工具是Android开发者和安全专家的利器,它能帮助我们深入了解APK的内部结构,进行代码分析和调试。正确且合法地使用这些工具,能够提升我们的技能,也能为Android生态的安全贡献一份力量。

    Android APK+Dex(APKDB) 安卓反编译利器包 v1.9.0 正式版.zip

    Android APK+Dex(APKDB)安卓反编译利器包是一款针对Android OS系统的APK程序直接反编译修改的工具,集合了当今最强悍,最犀利的APK及Dex文件编译工具,这款软件比上版调整幅度比较大,而这轮主要是先进行稳定性方面...

    apktool编译反编译工具

    2. **反编译APK**: 执行`apktool d &lt;apk_file&gt;`命令,将APK反编译到当前目录下的一个新目录。 3. **修改源代码**: 进入反编译后的目录,用户可以编辑XML布局文件、资源文件或Smali代码。 4. **重新打包**: 修改完成...

    ApkTool集成工具

    总的来说,ApkTool作为Android反编译工具,对于开发者和安全研究人员来说是一个不可或缺的利器。它不仅能够帮助我们理解APK的内部结构,还能辅助进行定制化修改,提高开发效率。然而,使用ApkTool时需注意版权问题,...

    android 超强反编译工具

    "Android超强反编译工具"正是这样一种利器,它能够帮助开发者和逆向工程师解析APK的内部结构,从而实现各种定制化需求。 一、反编译基础 反编译是将已编译的二进制代码转换回接近源代码的形式,以便理解其功能和...

    APKTool批处理版l

    将你需要汉化的APK文件,放到APKTOOL文件夹下面,双击运行“解包软件.BAT”,批处理会自动识别APK文件并开始解包,在这里我用FlipSilent(一个翻转静音工具)作为示例。 解包出来的资源存储在“汉化中的资源”...

    apktool+dex2jar+java_decompiler

    Apktool是一款强大的Android资源反编译工具,由IzzySoft开发。它能够解包APK文件,将原始的二进制资源文件转换为人类可读的XML格式。通过Apktool,开发者可以查看应用的布局、图片、字符串表等资源,甚至修改后再...

Global site tag (gtag.js) - Google Analytics