You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过崩溃堆栈中的资源ID查找对应资源

如何逆向解析Android资源ID定位对应资源?

当遇到Resources$NotFoundException崩溃,日志只给出资源ID(比如#0x7f070912)时,可以通过以下几种方法逆向找到对应的资源:

方法1:使用Android Studio Resource Manager搜索

  • 打开Android Studio,切换到左侧边栏的Resource Manager面板
  • 在顶部搜索框直接输入资源ID的十六进制值(无需加#,比如输入0x7f070912),搜索结果会直接显示对应的资源文件和名称。

方法2:用aapt命令行工具解析APK

  • 找到崩溃版本对应的APK文件(通常位于app/build/outputs/apk/目录下)
  • 打开终端,进入Android SDK的build-tools对应版本目录(比如$ANDROID_SDK_ROOT/build-tools/34.0.0/),执行以下命令:
    aapt dump resources your-app.apk | grep "0x7f070912"
    
  • 输出结果会包含资源类型和名称,示例:drawable/ic_error_icon (0x7f070912)。

方法3:查看编译生成的R.java文件

  • 编译项目后,在app/build/generated/not_namespaced_r_class_sources/debug/r/[你的应用包名]/R.java路径下找到R.java文件
  • 在文件内搜索目标资源ID的十六进制值,找到对应的字段,比如:
    public static final class drawable {
        public static final int ic_error_icon=0x7f070912;
    }
    
    由此可知该ID对应的是drawable类型的ic_error_icon资源。

注意事项

  • 必须使用崩溃版本对应的APK或编译产物,不同版本的资源ID可能因资源增减而变化
  • 资源ID不会被代码混淆工具处理,所以即使是混淆后的APK,也能正常解析

内容的提问来源于stack exchange,提问作者Haroun Hajem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:26:02