既然 Android Studio 不再创建 R.java,如何找到资源 ID #s?

Sco*_*ggs 6 debugging android r.java-file android-resources android-studio

我正在尝试调试以下警告:

03-13 16:27:13.248 6636-6636/sleepfuriously.com.warningtest W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f09002a}
03-13 16:27:13.248 6636-6636/sleepfuriously.com.warningtest W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f090028}
Run Code Online (Sandbox Code Playgroud)

(为简洁起见,还有 26 个类似的剪辑)

看起来我正在使用一些资源作为字符串,它应该是别的东西。通常我只是打开 R.java 文件,看看这些数字指的是什么,瞧,有问题的资源。

但是新版本的 Android Studio 绕过了 R.java 的创建。所以我无法知道是哪些资源导致了这些警告。关于如何调试这个的任何线索?

Com*_*are 11

虽然很乏味,但您可以在 Android Studio 中使用 APK 分析器。您可以通过主菜单中的构建 > 分析 APK 来实现。

选择您的 APK 后,单击resources.arsc上方窗格中的条目。这将为您提供一个较低的窗格,向您显示不同的资源类型。选择类型将为您提供该类型的资源,包括资源 ID 的十六进制值:

Android Studio 中的 APK 分析器

没有按资源 ID 搜索选项,但您可以翻阅资源并尝试找出这些 ID 的来源。

  • 所以你本质上是建议我反汇编一个apk?嗯,这肯定比我能想到的任何东西都要好。它有效。谢谢! (4认同)