我需要在Android Studio(测试版)0.84中找到并提取项目中的所有硬编码字符串。我需要一个静态分析工具,例如“查找错误”,一口气为我做到这一点,并让我逐步浏览每条消息并将字符串提取到资源文件中。如果整个过程是自动化的,那就更好了。
在Android Studio(测试版)0.84中,文件/设置/ FindBugs-IDEA在报告选项卡下将I18N显示为一个选项。但是我只是不知道如何使它工作。
感谢您的任何建议。
我需要在Android Studio(测试版)0.84中找到并提取项目中的所有硬编码字符串。我需要一个静态分析工具,例如“查找错误”,一口气为我做到这一点,并让我逐步浏览每条消息并将字符串提取到资源文件中。如果整个过程是自动化的,那就更好了。
在Android Studio(测试版)0.84中,文件/设置/ FindBugs-IDEA在报告选项卡下将I18N显示为一个选项。但是我只是不知道如何使它工作。
感谢您的任何建议。
Answers:
正如@Maor Hadad和其他反对者建议我的那样:我将评论转换为答案,所以:
从Android Studio 1.2.2开始,在中有一个新选项
"Analyse > Run inspection By Name" => "Hardcoded strings".
我使用了它,并且当前版本似乎比“硬编码文本”(仅检查xml文件)可靠得多。
在这里看到链接
".+\Q\E
如果将双引号替换为单引号,则将所有字符串都包含在单引号中。
转到“分析>按名称运行检查...”,然后键入“硬编码文本”。在整个项目中运行该代码,您将获得一个检查结果面板,其中将显示硬编码的文本实例。
您还可以转到Android Studio>“偏好设置”>“检查”>“硬编码文本”,并确切指定其运行方式,以及哪些特殊情况(如果有)不包括在检查范围内。
如果您只想查找所有布局文件中的所有硬编码字符串,则可以通过运行-
vinayak@vinayak-osx:layout $ grep -n "android:text=\"" * | grep -v "@string"
注意事项-1
.grep
不能在Windows上使用
2.首先cd
进入项目的layout
目录
3. kcoppock的答案很好,但是需要太多时间
Hardcoded Text
检查会返回.XML
文件中的硬编码文本,而Hardcoded Strings
检查会返回.java
文件中的硬编码文本。