如何在Android Studio的项目中找到所有硬编码字符串

Far*_*jmi 73 android internationalization android-studio

我需要在Android Studio(beta)0.84中查找并提取项目中的所有硬编码字符串.我需要像Find Bugs这样的静态分析工具一次性为我做这件事,并允许我逐步完成每条消息并将字符串提取到资源文件.如果整个过程是自动化的,那就更好了.

在Android Studio(测试版)0.84中,文件/设置/ FindBugs-IDEA在报告选项卡下显示I18N作为选项.但我无法弄清楚如何让它发挥作用.

谢谢你的任何建议.

kco*_*ock 109

转到"分析>按名称运行检查...",然后键入"硬编码文本".对整个项目运行一个,你应该得到一个检查结果面板,它将显示硬编码的文本实例.

您还可以转到Android Studio>"首选项">"检查">"硬编码"文本,并准确指定其运行方式,以及从检查中排除的特殊情况(如果有).

  • 有关信息:Android Studio 1.2.2在"按名称运行检查"=>"硬编码字符串"中添加了一个新选项.当前版本似乎比"硬编码文本"更可靠.见到这里[链接](http://stackoverflow.com/a/30799619/3649279) (6认同)
  • 这非常有效!谢谢。顺便说一句,是否有任何工具可以使用基于文本生成的资源 ID 自动将字符串提取到 values.xml 文件?那将是一个很大的帮助。然后就可以将资源 id 名称重新命名为更短的名称。 (2认同)
  • +1是Android Studio的一个非常酷的功能.有没有人找到一种方法从结果中排除android.util.Log消息?(约占我结果的95%!) (2认同)

PAD*_*PAD 98

正如@Maor Hadad和其他upvotes建议我:我在答案中转换我的评论,所以:

从Android Studio 1.2.2开始,"分析>按名称运行检查"=>"硬编码字符串"中有一个新选项.我使用它,当前版本似乎比"硬编码文本"(仅检查xml文件)更可靠.

看到这里的链接

  • 请注意,`Hardcoded Text`检查返回`.XML`文件中的硬编码文本,而`Hardcoded Strings`检查返回`.java`文件中的硬编码文本. (23认同)

Tap*_*nHP 8

对于Windows平台,我发现的最好方法是:

您可以使用此快捷方式Ctrl Alt Shift I并搜索,

硬编码文本

在搜索栏中.

您可以选择要在其中搜索硬编码字符串的相应模块,它将为您提供所有字符串的列表.

选择模块的选项


Igo*_*mcy 5

对我来说效果很好的是使用正则表达式搜索整个项目:

android:text="[az]

在此输入图像描述

要在 kotlin/java 类中查找:

[.]文本=“[az]

在此输入图像描述

[.]setText("

在此输入图像描述

不要忘记点击上图末尾的 .* 蓝色按钮