如何在Android Studio中找到我的项目中的所有硬编码字符串
我需要在Android Studio(beta)0.84中查找并提取我的项目中的所有硬编码字符串。 我需要一个静态分析工具,比如findbug,它可以一次为我完成这项工作,并允许我单步遍历每条消息,将字符串提取到资源文件中。如果整个过程是自动化的,那就更好了 在Android Studio(beta)0.84中,文件/Setting/FindBugs IDEA将I18N显示为Reporting选项卡下的一个选项。 但我就是不知道如何让它工作 感谢您的建议。进入“分析>按名称运行检查…”,然后键入“硬编码文本”。在整个项目中运行该命令,您将获得一个检查结果面板,该面板将显示硬编码文本实例如何在Android Studio中找到我的项目中的所有硬编码字符串,android,internationalization,android-studio,Android,Internationalization,Android Studio,我需要在Android Studio(beta)0.84中查找并提取我的项目中的所有硬编码字符串。 我需要一个静态分析工具,比如findbug,它可以一次为我完成这项工作,并允许我单步遍历每条消息,将字符串提取到资源文件中。如果整个过程是自动化的,那就更好了 在Android Studio(beta)0.84中,文件/Setting/FindBugs IDEA将I18N显示为Reporting选项卡下的一个选项。 但我就是不知道如何让它工作 感谢您的建议。进入“分析>按名称运行检查…”,然后键入
您还可以转到Android Studio>首选项>检查>硬编码文本,并指定其具体运行方式,以及哪些(如果有)特殊情况被排除在检查之外。如果您只想在所有布局文件中查找所有硬编码字符串,可以通过运行-
vinayak@vinayak-osx:layout $ grep -n "android:text=\"" * | grep -v "@string"
注释-1. <代码>grep不能在windows上使用
2.首先
cd
到项目的layout
dir3.kcoppock的答案很好,但它花费了太多的时间,正如和其他投票建议我的那样:我将我的评论转换为一个答案,因此: 自Android Studio 1.2.2以来,在
“分析>按名称运行检验”=>“硬编码字符串”。
我使用了它,它在当前版本中似乎比“硬编码文本”(只检查xml文件)更可靠
如图所示在Windows中使用Ctrl+Shift+F组合键到处搜索,同时显示预览
对Windows使用Ctrl+F组合在当前文件中搜索
对Windows使用Shift+Shift(双Shift)组合来搜索项目的项目文件
旧版本可能不可用。对于Windows平台,我发现最好的方法是: 您可以使用此快捷方式
Ctrl
Alt
Shift
I
并搜索
硬编码文本
在搜索栏中
您可以选择要在其中搜索硬编码字符串的适当模块,它将为您提供所有字符串的列表
对我来说最有效的方法是使用regex搜索整个项目: android:text=“[a-z] 要在这些kotlin/java类中查找: [.]text=“[a-z] [.]setText(“
别忘了点击上图末尾的.*蓝色按钮效果非常好!谢谢。顺便问一句,有没有工具可以使用基于文本生成的资源id自动将字符串提取到values.xml文件中?这将是一个很大的帮助。然后,您可以直接将资源id名称引用到shorter。我不知道自动,但我相信如果你突出显示其中一个字符串并点击Enter选项,你会得到一个自动提取该字符串的选项,但你必须手动键入名称。+1 Android Studio的一个非常酷的功能。有人找到了从结果中排除Android.util.Log消息的方法吗?(大约95%的结果!)供参考:Android Studio 1.2.2在“按名称运行检查”=>“硬编码字符串”中添加了一个新选项。在当前版本中,它似乎比“硬编码文本”更可靠。如@PAD所示,您应该将其作为答案编写。硬编码文本仅返回xml文件。ty:)请注意,
硬编码文本
检查返回.XML
文件中的硬编码文本,而硬编码字符串
检查返回.java
文件中的硬编码文本。请参阅我在这里对类似问题的回答,我有一个类似的任务,但用于我的flifter项目。上述检查没有带来预期的结果,所以我尝试了一个正则表达式。“+\Q\E
如果用单引号替换双引号,则会得到单引号内的所有字符串。grep命令工作正常,但添加了如何在命令中忽略数据绑定的方法