[转] APK 本地化/修改利器 —— 《android-apktool》
APK, 利器, 本地化
说起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,回车。
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命令行里,输入:
apktool b "C:\LiveWallpapersPicker"
(命令行解释:apktool b 要打包内容所在文件夹)
就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。
这个out.apk是没有签名的,所以不能直接装到手机里。签名用本论坛提供的APK-sign做,自己搜,用法原帖里也有,这里不说了。
分享到:
相关推荐
APK反编译工具,如Apktool,是Android开发者和逆向工程爱好者的重要利器。它主要用于解析APK文件,揭示应用程序的内部结构,包括XML布局文件、图片资源、字符串表以及Java字节码等。在本文中,我们将深入探讨Apktool...
老外写的《android-apktool》软件,可以帮助我们把APK反编译,生成程序的源代码和图片、XML配置、...我们对 图片和语言资源等文件修改后,可以再把它们编译打包成APK,签名后就是手机可以安装的本地化/修正版APK了。
- **本地化**:对于多语言应用,Apktool可以帮助提取和修改语言资源,方便进行本地化工作。 - **二次开发**:开发者可以基于已有的APK进行二次开发,添加新的功能或修改现有行为。 值得注意的是,使用Apktool进行反...
此外,它还可以用于本地化修改、去除广告、修复应用错误等场景。 5. **注意事项** 尽管Apktool提供了便利,但使用它进行反编译和修改APK需遵守版权法规,尊重原作者的知识产权。未获得授权的修改和分发可能会引发...
- **本地化**:翻译人员可以使用apktool来提取和翻译应用的字符串资源。 5. **使用教程**: 在使用apktool时,通常需要在命令行环境中运行相应指令。例如,使用`apktool d <apk_file>`命令来解编译APK,`apktool ...
- 本地化:通过Apktool,可以轻松地修改APK的字符串资源,实现多语言本地化。 总结来说,Apktool作为Android开发者的重要工具,其在反编译、重新打包和调试等方面发挥着不可或缺的作用。通过熟练掌握Apktool的使用...
总之,apktool是Android开发者、安全研究员和爱好者手中的一款利器,它极大地简化了对APK文件的分析和修改过程,促进了对Android应用的深度理解和自定义。通过熟练掌握apktool的使用,你可以在Android开发和逆向工程...
- **本地化**:通过Apktool,开发者可以方便地修改APK中的字符串资源,实现多语言本地化。 - **主题定制**:Apktool允许用户修改应用的UI布局和资源,为喜欢的APP定制个性化主题。 - **二次开发**:在遵守开源许可...
Apktool,作为一款强大的Android应用反编译工具,对于开发者、安全研究员以及逆向工程爱好者来说,是不可或缺的利器。本文将深入探讨Apktool 1.5.2版本的功能特性,以及如何利用它来解剖和分析APK文件,进一步理解...
APKTool的名字来源于“APK”(Android应用的包格式)和“tool”的结合,它能帮助我们解包、修改并重新打包APK,以实现诸如资源本地化、调试和安全分析等多种功能。 首先,我们需要了解APK文件的结构。APK本质上是一...
2. 回编译:在对APK进行修改后,APKTool可以将这些更改重新打包成一个新的APK文件,可以安装到Android设备上。这个过程包括重新构建资源、编译Smali代码并生成新的 Dex 文件(Dalvik Executable)。 3. Framework-...
6. **适用场景**:Apktool广泛应用于Android应用的逆向工程,帮助开发者学习其他应用的实现细节,安全研究人员分析潜在的安全漏洞,以及进行应用本地化和自定义修改等工作。 7. **兼容性**:Apktool支持多种Android...
Android APK 反编译工具是开发者和安全研究人员用于探索、分析和修改APK应用的利器。APK是Android应用程序的打包格式,包含了运行在Android设备上的所有代码、资源和配置文件。通过反编译,我们可以深入了解应用的...
**正文** apktool是一款强大的Android应用(APK)反编译和编译工具,它为开发者和手机发烧友提供了深入...无论是对代码的修改还是资源的提取,apktool都能满足用户的需求,是Android开发和玩机过程中不可或缺的利器。
- **定制化修改**:用户可以通过Apktool修改应用的图标、布局、启动动画等资源,甚至替换或添加功能,创建个性化APK。 **4. 注意事项与局限性** 虽然Apktool提供了一种强大的工具来探索和修改APK,但需要注意的是...
这个工具的主要功能是解包APK文件,允许用户查看、修改和重新打包Android应用,以便于逆向工程、本地化调整或者进行个性化定制。在Android开发和调试过程中,Apk Tool扮演了不可或缺的角色。 首先,我们要了解什么...
这一过程对于调试、逆向工程、优化或本地化 Android 应用程序非常有用。 **1. APK 文件结构** APK 文件是 Android 应用程序的载体,包含了应用的所有资源、代码、库文件和清单文件等。它是由 Android SDK 的 `aapt...
Android编译工具,如ApkTool,是开发者和逆向工程师在处理APK文件时不可或缺的利器。这个工具主要用于解包、修改和重新打包Android应用,以便进行调试、分析或优化。在这里,我们将深入探讨ApkTool的工作原理、使用...
- **汉化**:非官方的本地化团队会反编译APK以翻译字符串资源,实现应用的多语言支持。 - **逆向工程**:调试和修复第三方应用的问题,或者开发插件和模块。 不过,值得注意的是,未经授权的APK反编译可能涉及版权...