androidprojectlocalizationandroid项目本地化

androidprojectlocalizationandroid项目本地化

ID:37537498

大小:220.51 KB

页数:8页

时间:2019-05-24

androidprojectlocalizationandroid项目本地化_第1页
androidprojectlocalizationandroid项目本地化_第2页
androidprojectlocalizationandroid项目本地化_第3页
androidprojectlocalizationandroid项目本地化_第4页
androidprojectlocalizationandroid项目本地化_第5页
资源描述:

《androidprojectlocalizationandroid项目本地化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、胡怀国通信工程联系电话:13685760951IBelieveIcandobetterAndroidProjectLocalizationHUHG2009-4-26本文主要介绍Android项目的本地化方法和过程.BuildAndroidProject在完成一个应用开发后,首先要将该项目导出成一个安装文件,也就是.apk文件,这个时候导出的文件是没有经过签名的,涉及签名的部分可以查看其他相关资料,这里只对构建项目的过程进行分析.如下图建立了一个项目,完成开发后,利用Exporttheunsignedapk可以导出该应用的未签名安装文件.图1项目信息导出未签名的安装文件经解压缩后,可以包含文件信

2、息如图2所示.图2解压缩文件信息注意上述文件中的所有.xml文件均已经经过编译,成为二进制文件,因此如果我们直接打开的话,看到的已经和应用的原始文件不同.应用构建分析由于在开发工具中直接导出了该安装文件,我们看不到背后的处理过程,因此只能通过其他途径去了解项目的构建过程.胡怀国通信工程联系电话:13685760951IBelieveIcandobetter图3包含文件信息图3显示了一个经过签名的应用安装文件所包含的文件信息,可以看到我们导出的未经签名的应用包含了相同的文件信息,只是缺少了签名文件.并且可以看到签名信息是保存在META-INF文件夹之中的.图4resources.arsc构建过程

3、图4显示了文件resources.arsc的构建过程,可以看到resourcses.arsc文件的主要来源为AndroidManifest.xml和res资源文件夹下的内容,还包含了应用用到的.jar文件信息.图5classes.dex构建过程图5显示了文件classes.dex的构建过程,可以看到classes.dex包含了所有的类文件信息,其中包括了系统自动产生的R.java的资源类信息.LocalizeAndroidProject应用本地化就是将原来只支持一种语言的应用本地化之后,可以支持多种语言,这样应用就可以在不同的语言地区得以应用.通过学习与研究,应用本地化主要有以下两种方式:1.

4、在原来的资源文件上进行修改通过用特殊编辑器打开原来的资源文件,将所有字符信息整理出来,然后通过判断识别那些信息为应用中的字符信息,判断之后对相应字符翻译并替换,所有字符替换成功后保存为新的资源文件,然后替换掉原来的资源文件。2.通过应用还原生成新的资源文件胡怀国通信工程联系电话:13685760951IBelieveIcandobetter通过上面的构建分析,可以反向思考,如果能通过给定的.apk应用文件,将相关文件还原,然后生成新的资源文件,就可以完成应用的本地化处理.这样做的好处就是本地化过程中知道了变量名称等信息,可以直接对某个变量单独进行替换,不会出现第一种方式中的由于混淆等情况出现的

5、错误本地化.2.1分析资源文件信息下面通过AAPT分析应用的资源文件信息,如图6所示.资源文件信息分析如下:首先为校验信息,检验文本是否存在错误。其次为包的组信息,该应用包含一个包文件信息,随后列出了包文件的具体信息。最后为资源文件中的所有资源信息,包括以下几种类型:Type0该应用不含该类型内容,通过对比,该类型对应为应用中用到的R.attr信息。Type1显示的信息为资源文件中res/drawable中的所有文件信息,对应为应用中用到的R.drawable信息。Type2显示的信息为资源文件中res/layout中的所有文件信息,对应为应用中设图6资源文件分析置当前显示窗口的R.layou

6、t信息。Type3显示的信息为资源文件中res/values/arrays.xml中的文件信息,对应为应用中寻找字符数组时使用的R.array信息。胡怀国通信工程联系电话:13685760951IBelieveIcandobetterType4显示的信息为资源文件中res/values/strings.xml中的文件信息,对应为res/layout中用到的字符信息,如@string/stringid方式。Type5显示的信息为资源文件中res/layout中的所有组件索引信息,如按钮,列表等的索引,对应为应用中寻找组件时使用的R.id信息。从以上分析可以得出,资源文件resources.ars

7、c包含的就是AndroidManifest.xml和res文件夹下的所有文件信息,这样就可以通过还原上述文件信息,然后再根据还原的文件进行本地化,这样不但可以汉化的比较轻松简单,还可以了解原应用的组织结构,并且类的结构信息也可以还原出来。2.2还原资源文件过程在开发应用时,所有的资源文件在增加,修改,删除等操作时都会自动产生一个索引信息,该信息保存了类文件R.java中,这样我们就能通过分析R.j

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。