【问题标题】:apktool decompiler missing xml files in res folderapktool 反编译器在 res 文件夹中缺少 xml 文件
【发布时间】:2013-11-07 19:14:37
【问题描述】:

我正在使用 apktool 反编译 apk 以获取 res 文件。我下载了apktool并使用了命令(apktool –d myapp.apk),它正在提取res文件但在value文件夹中缺少一些xml文件。请告诉我解决方案。谢谢..

【问题讨论】:

  • 如果您使用 strings.xmlstrings-extra.xml 之类的,它会将所有这些合并到一个 xml 中,因为有关源文件的信息不会被存储。您未找到的值可能在现有的 xml 文件之一中?
  • 嗨..我验证了..这些值在其他 xml 中也不可用。在 public.xml 中,所有字符串减量都是可用的。所以当我尝试构建 apk(使用 apktool –b myapp)时,即使没有任何修改,我也会收到类似“此处声明的公共符号字符串/xyz 未定义”的错误。

标签: android


【解决方案1】:

只需使用 Winrar 打开 APK,您就会在其中找到内容。

【讨论】:

  • Apktool 应该解码这些值。当你使用apktool –d myapp.apk 时它会说什么?应该有一行写着:Decoding values*/* XMLs….
  • 使用apktool反编译不会出错。但是某些 xml 文件在 res 文件中不可用。当我尝试创建 apk(apktool –b myapp) 时,即使没有任何修改,它也会给我错误“此处声明的公共符号字符串/xyz 未定义”。
  • APK 中可能缺少它。
  • 嗨.. 我正在反编译并构建工作 myapp.apk.. 我想在代码中添加一些 aj 文件。但我什至没有得到编译的apk而没有任何改变。我只使用了两个 command.1。 apktool –d myapp.apk 2. apktool –b myapp,它的反编译没有任何错误。但是在构建apk时它显示错误,例如“未定义此处声明的公共符号字符串/xyz”。
【解决方案2】:

错误“此处声明的公共符号字符串/xyz 未定义”告诉您您所做的编辑未在 string.xml 中定义。您还必须编辑 string.xml。

【讨论】:

  • 另外,使用 winrar 不会显示 values 文件夹,因为 values 文件夹是 apk 中 resources.arsc 文件的一部分
【解决方案3】:

可能与here 跟踪的问题有关!

apktool2.0 beta release here的所有者解释了关于这个问题的一个更有趣的点!

我感觉您面临的问题是因为使用较旧的 aapt 构建的 apk 而您正在使用较新的 aapt 构建。尝试获取构建 apk 时使用的 aapt 版本,看看 apktool 是否对您的情况有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多