android删除未知字符,如何删除Android Studio中所有配置的未使用字符串资源?

我发现了一个未使用的字符串资源,例如:

my name is null!

但是,它以数十种文件,不同语言,在values,values-af,values-be等文件夹中的不同strings.xml文件中存在。

除了一个接一个地手动修改之外,我肯定错过了一些其他方法,不知道该如何在Android Studio中执行此操作。

tl; dr如何删除所有配置的未使用的字符串资源?

Menu -> Analyze -> Run Inspection by Name -> Unused resources

@Blackbelt是查找未使用资源的好方法,是否可以自动删除它们?

@Apurva perl是一个不错的选择

要识别所有未使用的资源:

打开菜单>分析>按名称运行检查...

选择"未使用的资源"

确保选中了整个项目,然后按

浏览列表。您始终可以使用"重新运行"按钮重新运行检查。

Android Studio(v 1.0)中没有真正简单的方法来删除所有语言环境的资源字符串。但是,您可以搜索并替换文件。幸运的是,在大多数情况下,翻译文件仅使用一行,因此效果很好。

在Android Studio中:

从源代码管理中没有待处理的更改开始(这样可以更轻松地检查和退回是否出错)。

打开菜单>编辑>查找>在路径中替换...

在要查找的文本中:.*name="obsoletestring".*

在替换为:(空)

检查正则表达式

按查找按钮。

检查结果。如果可以,请按"所有文件"按钮。

您可能必须手动删除res / values / strings.xml中的注释。

确保您的项目仍在构建。

在源代码管理中查看项目的差异,以确保更改确实是您想要的...

现在可以在Android Studio中使用。

Lint检查之后,您会在右侧的"删除所有未使用的资源"上看到一个选项!

c110456f59b0f105070acf1fff77406e.png

要删除所有语言环境文件中的单个字符串资源,可以使用"翻译编辑器"。

1.右键单击res目录以打开翻译编辑器。

2.选择"显示所有键"选择器,然后选择"按文本过滤"。提供您要删除的资源的名称。

3.选择资源,然后单击"-"按钮

您如何运行它?

菜单"分析"和"检查代码"!

如何跨多个语言环境文件删除单个资源?

在出现IDE支持之前,将遵循以下原则:

find -name strings.xml|xargs -rd\

sed -ri '/"string_to_delete"/d'

很棒的答案! 如果还处理多行的字符串标记,那就更好了。

这似乎不起作用。 错误:xargs: illegal option -- r

在您的系统版本的xargs中,-r(别名为--no-run-if-empty)可能不可用。 也许尝试长格式。 根据变更日志,它似乎已经可用了约27年,并且在我的系统版本v4.7.0-git上可以看到它。

在Android Studio 2.3中,可以删除所有未使用的资源。

在res / values /目录中打开任何* .xml

右键单击任何项??目的名称

Refactor -> Remove Unused Resources...

小心这一点。 它甚至删除了仍在使用的资源。 :-(

菜单->分析->按名称运行检查->未使用的资源

从结果中选择所有未使用的字符串资源。

右键单击突出显示的行,然后选择"使用@SuppressLint(Java)或tools:ignore(XML)进行抑制"。这会将属性tools:ignore添加到所有字符串文件中的所有字符串。

菜单->查找->在路径中替换

查找文本:^。*?tools:ignore =" UnusedResources"。*? n

勾号正则表达式框

使用范围:自定义

打开自定义范围编辑器并添加模式:file [app]:src / main / res // strings.xml

等等。

不幸的是,您必须手动执行此操作。

检查此答案以了解您应该怎么做才能使用Eclipse摆脱它们

如果您使用的是Android Studio,请在整个应用程序中找到它们,然后手动删除它们。

请注意,REMOVE UNUSED RESOURCES命令不能将以编程方式访问的资源识别为已使用资源(例如getIdentifier(..)等)。

因此,如果您以这种方式访问??资源,则使用该命令的风险很大!!

实际上,Android Lint应该报告未使用的资源,但是您也可以尝试使用这个不错的插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值