用户登录
用户注册

分享至

43-Android之提取所有的strings.xml文件

  • 作者: 原来名字可以那么
  • 来源: 51数据库
  • 2021-08-18

43-Android之提取所有的strings.xml文件


平台: MTK6739 Android10

客户指定需要某种小语种的语言. 但是系统里某些APP翻译不完全, 因此需要将系统的所有的strings.xml文件提取出来, 交给客户翻译.

由于MTK平台没有找到提取strings.xml文件的工具. 因此只能自己想办法, 最后通过find和tar指令完成.

开始使用的是下面的指令:

find ./           -regex '.*/res/values/.*'              -name "*strings.xml" | xargs tar zcf en_strings.tar.gz

但是发现没有提取完全, 只有部分. 猜测应该是前面find指令获取到文件路径资源, 超出了缓存限制.
最终通过分部提取完成资源的提取, 如下:

find ./build/      -regex './build/.*/res/values/.*'      -name "*strings.xml" | xargs tar zcf en_build_strings.tar.gz
find ./frameworks/ -regex './frameworks/.*/res/values/.*' -name "*strings.xml" | xargs tar zcf en_frameworks_strings.tar.gz
find ./device/     -regex './device/.*/res/values/.*'     -name "*strings.xml" | xargs tar zcf en_device_strings.tar.gz
find ./packages/   -regex './packages/.*/res/values/.*'   -name "*strings.xml" | xargs tar zcf en_packages_strings.tar.gz
find ./prebuilts/  -regex './prebuilts/.*/res/values/.*'  -name "*strings.xml" | xargs tar zcf en_prebuilts_strings.tar.gz
find ./sdk/        -regex './sdk/.*/res/values/.*'        -name "*strings.xml" | xargs tar zcf en_sdk_strings.tar.gz
find ./system/     -regex './system/.*/res/values/.*'     -name "*strings.xml" | xargs tar zcf en_system_strings.tar.gz
find ./vendor/     -regex './vendor/.*/res/values/.*'     -name "*strings.xml" | xargs tar zcf en_vendor_strings.tar.gz
软件
前端设计
程序设计
Java相关