您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Android软件汉化精简去广告优化教程
工具包含以下工具:AndroidResEdit、apktool、baksmali+smali、Java_6Update31、Microsoft.NETFramework、Notepad++Portable、signapk、WinRAR、zipalign、汉化狂人准备工作:下载上面的附件“Android汉化工具.zip”,解压。1、安装Java环境(Java_6Update31.exe);2、安装Microsoft.NETFramework(Microsoft.NETFramework_2.0.exe);以上两个必须要安装,否则很多汉化工具会无法使用、各种报错(如汉化狂人、apktool、smali等),切记!!在电脑上安装都很简单的,其它的就不过多阐述了。APK包文件结构:汉化前先了解下apk安装包的结构apk安装包其实就是一个Zip压缩文件,所以可以用WinRAR、WinZip之类的压缩软件来打开,建议大家将apk这个扩展名关联到压缩软件,双击默认以WinRAR打开。关联方法:1、打开WinRAR——选项——设置,如图:2、切换到设置窗口的“综合”标签,在“用户自定义压缩文件扩展名”下面填上APK,然后点确定。这里以固件管家(ROMManager)的APK安装包为例讲解目录结构,如图:文件目录结构assetscomMETA-INF-CERT.RSA-CERT.SF-MANIFEST.MFres-drawable-drawable-hdpi-drawable-ldpi-drawable-mdpi-drawable-xhdpi-layout-menu-xmlAndroidManifest.xmlclasses.dexresources.arsc*assets目录:通常存放的是一些附加文件,例如txt、html等说明文档、字体文件、附加图片等(游戏apk安装包有些差别。某些软件该目录下的一些文本文件需要汉化);*com目录:通常也是存放一些附加组件,例如PayPal等(这个目录一般不会有要汉化的内容,不要管它);*META-INF目录:里面存放的就是签名后的证书;*res目录:存放的大部分是一些图片资源和界面的布局文件。drawable和drawable-**目录存放的是各种不同分辨率的图片资源。layout、menu、xml目录存放的是软件界面的布局文件,包括菜单、窗口、主界面和设置界面等。*AndroidManifest.xml文件:记录了软件的版本号、所需要的权限、引用的库文件、类等信息。极少数情况下,某些软件的软件名称、个别设置选项等文字内容在该文件中。*classes.dex文件:这是Java源码经过编译后的文件,有些软件的选项和说明内容的文字会在这个文件里,需要对其解包后进行汉化。*resources.arsc文件:这个是经过编译后的资源文件,存储着各国语言,大部分需要汉的内容就在这里。PS1:某些软件的选项按钮是通过调用图片实现的,图片上的文字就需要Photoshop之类的图片编辑软件来修改,这些图片资源一般都在drawable和drawable-**目录里。PS2:某些软件apk安装包会有个res\raw目录,这里通常存放的是一些说明文件,如txt、html、hml等格式文件,这些文件里的文字内容用Notepad++Portable(帖子附件里有)之类的文本编辑器就可以修改(Windows自带的记事本也可以,不过不推荐用这个)。签名:方法一:1、下载帖子附件“Android汉化工具.zip”,解压。推荐将解压出来的“sign”文件夹复制到D盘根目录(后面的教程统一以复制到D盘根目录为前提进行讲解)。2、例如要签名的apk包名为“1.apk”。先将“1.apk”文件复制到d:\sign目录里。下面有两个方式:*用鼠标将“1.apk”拖到“Sign.bat”批处理文件上面自动签名,签好的文件会保存在同一个目录里(“1.apk.apk”文件)。*另外,也可以手动在CMD命令行窗口中输入命令来签名:1、打开命令行窗口,进入d:\sign目录:开始菜单——运行,输入cmd,在弹出的CMD窗口中输入d:回车cssign回车如图:再输入:java-jarsignapk.jartestkey.x509.pemtestkey.pk81.apk1-signed.apk如图:签完名输出的文件“1-signed.apk”传到手机或者用同步软件即可安装。方法二*用这个方式签名最为简单,傻瓜式操作。1、下载附件“Android汉化工具.zip”,解压。打开解压出来的AndroidResEdit(系统需要安装NETFramework,没安装的机友请自行百度搜索下载安装)。2、如图,打开工具栏中的“签名”,即可在签名窗口中选择文件进行签名,操作很简单。注:签名之前最好像将META-INF目录下的证书文件全部删除,以免重新签名后可能出现不能安装的问题。准备工作和基本须知讲完了,下面开始讲如何使用apktool嵌入汉化。APKTOOL嵌入汉化:之所以把apktool放到前面来讲,主要还是因为用apktool来汉化会更加快而直观。用AndroidResEdit或汉化狂人的方法放到后面讲,算是做一个补充,现在已经很少人用了。apktool汉化的优点已经众所周知,可以精简语言、汉化更彻底、反编译后可以调整布局文件、相比直接修改resources.arsc文件的方法,用apktool修改出的apk出问题的几率会更少。网上已经有很多apktool的衍生工具,有的甚至集成了签名、反编译、编译、优化等各种一键功能。不过个人不推荐初次接触汉化的人用这些工具。每一步都自己动手,即使中间某些环节出现了问题,也更加好找原因。这里给出apktool的主页:,想要长期做汉化的机友可以经常留意下,及时更新版本。开始汉化前,请先安装Java环境。必须要安装,apktool、汉化狂人、AndroidResEdit、baksmali都需要Java环境,否则不能使用,切记!安装文件在帖子开头的工具包里有。下面回归正题,开始讲解apktool汉化。一、嵌入中文以汉化多键开关(SwitchPro)为例。用apktool嵌入汉化其实很简单,就三个步骤:反编译——翻译+修改——重新打包(其中翻译这一步就是要嵌入中文的翻译)。*下载附件“Android汉化工具.zip”,解压。把apktool文件夹复制到D盘根目录。*将需要反编译的apk包复制到apktool文件夹里(D:\apktool),将其重命名为1.apk(名称随自己定,1.apk只是为了方便讲解)。*开始菜单——运行,输入cmd,打开CMD命令行窗口。*在CMD命令行窗口中用cd命令进入d:\apktool如图:进入D:\apktool后再输入命令apktoold1.apk1如图:注释:d是反编译命令“decode”。中间的1.apk不解释了,你们懂。最后的“1”是反编译后的文件的存储目录,即D:\apktool\1*进入D:\apktool\1\res目录,如下图:各个目录的作用在帖子开头已经解释过,这里不重复了。语言文件strings.xml就在values文件夹里(某些软件还会有attrs.xml、plurals.xml这两个语言文件)。attrs.xml里一般是一些选项的文字内容,例如打开一个设置选项后,弹出一个列表供你选择,列表中的选项的文字就在attrs.xml里,其余的文字内容基本都在strings.xml里。若要嵌入简体中文的话,我们要在D:\apktool\1\res这个目录新建一个文件夹“values-zh-rCN”,看文件夹后缀就知道,zh-rCN表示中国内地。要嵌入繁体中文的话,要在D:\apktool\1\res这个目录新建一个文件夹“values-zh-rTW”。然后再将上面讲到的values文件夹里的语言文件复制到values-zh-rCN和values-zh-rTW里,将里面的英文翻译成简体中文和繁体中文就可以了。因为现在要汉化的SwitchPro只有strings.xml文件,所以我们需要将strings.xml分别复制到values-zh-rCN和values-zh-rTW里就行了,如图:*到这一步,就可以开始翻译了,打开附件“Android汉化工具.zip”中的Notepad++Portable,用Notepad++Portable打开D:\apktool\1\res\values-zh-rCN和D:\apktool\1\res\values-zh-rTW中的strings.xml文件,如图:我们只需要将stringname=****abcd/string中间的英文内容abcd翻译成中间就行了,如图:*翻译完成后,在刚刚的CMD窗口中输入下面的命令重新编译打包:apktoolb1注释:这里的b是编译打包命令build,1是要编译打包的目录,即D:\apktool\1如图:重新编译打包后的apk包存储在D:\apktool\1\dist里,将apk包签名后就可以安装使用,签名方法帖子开头已经讲过,这里不重复了。二、汉化未在values文件夹内的语言文件中出现的文字内容通常某些软件会有少量的文字在其它位置,单单汉化values内的语言文件是不够的。我们可以在汉完values内的语言文件后,先重新编译打包回去,签名,传到手机上安装,然后打开软件,查找有哪些内容未汉化。通常这些内容都会出现在layout文件夹里的布局文件、xml文件夹里的布局文件和AndroidManifest.xml文件里,我们使用Notepad++Portable来搜索即可。例如SwitchPro有“Restore”不在values文件夹里的语言文件里,而在其它位置。打开Notepad++Portable,同时按下Shift+Ctrl+F键调出搜索窗口,输入搜索内容“Restore”将搜索路径定位到D:\apktool\1\res,然后点“全部查找”,如图:搜索完成后,下方会显示搜索到的文件,双击一下就可以打开该文件。如上图所示,将红色方框中的“Restore”改成中文“还原”即可。其它的文字同理,可以边在手机上使用软件,找出未汉化的文字,再使用Notepad++Portable将其搜索出来,然后汉化。另外,少部分软件的软件名称、少量设置标题等文字内容会在D:\apktool\1目录下的AndroidManifest.xml文件里,用Notepad++Portable打开AndroidManifest.xml文件,将这些未汉化的文字改成中文即可。三、精简语言精简语言很简单,有些软件自带了多国语言,如下图:只需要将图中红色框框部分删除即可。其中自带“values-**-land”是对应手机横屏模式下的布局配置,可以删除。但是若是values-land、values-hdip之类的文件夹就不能删除,这些是对应分辨率的,删除后软件会报错甚至强制关闭。删除多余的语言后,再重新编译打包、签名即可。方法上面已经讲到,这里不重复了。将所有内容汉化并精简后,就可以重新编译打包回去,然后签名安装。重新编译打包和签名方法上面已经讲过,这里不再重复。不过,不是所有软件都可以只用apktool来完全汉化,有部分文字还在classes.dex文件里,下面会讲到classes.dex文件的汉化方法。classes.dex文件汉化除了xml文件里的文字要汉化外,有些软件的文字会在classes.dex里,就是在源码里。这是我们要先将classes.dex解包,之后才能汉化里面的文字内容。步骤如下:*提取apk包里的classes.dex文件,如下图,用鼠标将其拖出来即可。*解压附件“Android汉化工具.zip”,将里面的“baksmali+smali”文件夹复制到D盘根目录,如图:(注:smali这个工具也会有更新,附上主页:
本文标题:Android软件汉化精简去广告优化教程
链接地址:https://www.777doc.com/doc-3375730 .html