Android Lint 去除重复资源 之 idea探究

Android Lint是很好的检查工具,可以帮助开发者检查很多问题,其中检查android项目重复的资源文件非常有用。

1、命令行下使用

Android Lint有很多命令,具体可以在网上查到。今天主要使用check,这个命令目的是只进行某个或某几个类型的检查,比如只检查无用的资源“lint --check UnusedResources <project dir>”。至于都有哪些类型的检查,可以输入命令"lint --list"来查看,也可以输入命令"lint
--show"来查看详细介绍。我们也可以把结果保存成文件,以便我们来查看,下面是一条简单的例子:

lint --simplehtml <savefile> --check UnusedResources <project dir>

这样就可以检查某个工程下的重复资源,并将结果保存成html文件方便查看(文件路径不需要加引号)。

2、idea下使用

eclipse下有lint的插件,而且网上相关介绍非常多,但是idea的相关文档就比较少。idea中已经支持android lint,如何使用呢?

在项目中点击右键,在出现的右键菜单中有“Analyze” --> “run inspaction by Name ...”。在弹出的搜索窗口中输入想执行的检查类型,如“Unused Resources”。不必全部输入就应该自动找到了,点击后会弹出“inspaction scope”选择窗口,选择检查的范围,一般选择整个项目或模块。“inspaction
scope”窗口下面还可以设置文件过滤,选择好后点ok就开始检查了。然后就可以根据检查结果来去除重复的资源。

3、idea项目检查不全问题。

对idea的android项目检查是发现问题,不论是使用命令行还是idea自带插件来检查重复资源,根据结果可以发现检查的并不全面,没有检查图片资源。但是网上一些文档却很明确lint能检查图片资源,那么问题出在哪里?

其实就是idea的android项目结构的问题,idea创建的android项目built后会发现R.java等临时文件里面其实是空的,而对图片资源检查就需要基于R.java这个文件来检查。那么idea项目的真正的R.java文件在哪里?

它的位置是“C:\Users\<username>\.IntelliJIdea13\system\compile-server\<projectname_*****>\targets\java-production\<projectname>\android\generated_sources\aapt\<packagename>\R.java”。

自己简单研究了一下,找出了一个比较笨拙的解决方法。对命令行和idea,具体解决方法有些不同:

(1)命令行下。在项目下手的建立gen文件夹,在其下建立包名对应的文件夹,然后将R.java复制到下面。然后再使用lint来进行检查就可以了。因为android默认的文件结构R.java文件是在gen下的,所以lint会去这个文件夹下找R.java文件。

(2)idea下。与命令行的方法类似,不过根据创建的项目类型的不同,R.java存在的文件夹也不同。比如maven项目会在“target\generated-sources\r”下(想知道本项目的R.java文件位置,可以在项目右键菜单“open modules setting” --> "modules"中,选择对应的模块下的"Android",在右边窗口中选择“Generated
Sources”选项卡,下面可以看到对应的设置,也可以对其进行修改。)。将R.java复制到对应的文件夹下替换空的R.java文件,然后在使用idea的lint来检查就会检查图片资源了。

小小总结一下,之所以idea项目会出现问题,究其原因还是idea没有将R.java等临时文件放在项目目录下,这也是idea的一个特色。上面的解决方法也比较笨拙,不知道是否还有更有效便捷的方法,如果有人知道希望可以指点一下。而且还有一个文件,就是styles.xml文件中重复的部分仍然无法检测出来,有人知道是什么问题么?

Android Lint 去除重复资源 之 idea探究

时间: 2024-10-11 07:09:12

Android Lint 去除重复资源 之 idea探究的相关文章

Android Lint简介

Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题.Android Lint提供了命令行方式执行,还可与IDE(如Eclipse)集成,并提供了html形式的输出报告. 选中一个Android工程,单击右键,在下拉菜单中选择“Android tools”->"Run lint:check common errors" 然后我们就能得到错误报告了 这里我们

android官方技术文档翻译——Android Lint

本文译自androd官方技术文档<Android Lint>,原文地址:http://tools.android.com/tips/lint. 本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41592783.转载请注明出处.翻译如有错讹,敬请指正. Android Lint Android Lint是在ADT 16(和 Tools 16)引入的一个新工具,可以扫描Android 项目源码中潜在的bug .它可同时作为一个命令行工

Android Lint工具

Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,类似findBugs工具.不过他主要检测以下方面的内容: 布局性能 国际化问题(硬编码) 图标的问题(重复的图标,错误的大小) 可用性问题(如不指定的文本字段的输入型) Androidmanifest文件的错误 未使用到图片等资源 不一致的数组大小 使用了高于minSdk的api 可以直接检测某个工程,使用方式很简单,配置好sdk路径,命令行中直接输入:lint 工程名 就会有检测结果,例如下图: 在Eclipse中他已

Android Lint简介(转)

转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 一.简介 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及

Android Lint简介(转载)

英文原文:http://tools.android.com/tips/lint  参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载地址:http://blog.csdn.net/hudashi/article/details/8333349 一.简介 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题

Android lint 删除无用图片文件和配置文件

Android lint  删除无用.冗余的  配置文件和 图片资源 转载请注明  http://blog.csdn.net/aaawqqq?viewmode=contents Android项目经过长期的迭代开发  项目当中有大量无用的java类和冗余图片 如果不整理将会导致 apk 包比较大 审查 清理Java类  使用UCDetector  可以查看我的上篇 博文 http://blog.csdn.net/aaawqqq/article/details/46684441 Android l

【工利其器】Android Lint篇——为Android量身定做的静态代码审查工具

前言 我们在进行代码优化的时候,往往是通过开发者的经验来判断哪些代码可能存在潜在问题,哪些资源的使用不合规范等.实际上Android SDK提供了一款功能非常强大的工具,来帮助开发者自动检测代码的质量及安全问题,这款工具就叫Android Lint.Lint提供了命令行方式以及与IDE集成的方式来执行,现在Android开发者基本上都使用Android Studio(后文简称AS,下同)来进行开发,强大的AS也集成了该工具,本文就基于AS3.2版本来介绍Lint. 一.Android Lint简

Android复习(二)应用资源 --&gt; 动画

没什么好总结的 复制自 https://developer.android.google.cn/guide/topics/resources/animation-resource 有需要的可以查看官方文档 动画资源 一个动画资源可以定义以下两种动画类型之一: 属性动画 通过使用 Animator 在设定的时间段内修改对象的属性值来创建动画. 视图动画 使用视图动画框架可以创建两种类型的动画: 补间动画:通过使用 Animation 对单张图片执行一系列转换来创建动画 帧动画:通过使用 Anima

android中的用户资源访问(一)

这几天要总结一下android开发中的用户资源访问. android中的用户资源存在项目工程中res文件夹下,有字符串.颜色.大小.数组.布局.样式.主题等资源,这些资源可以在xml文件中引用,也可以在android源码文件中使用,今天总结一下字符串.颜色.大小.数组.布局和图片资源. 总的来说,在xml文件中引用的格式为[<package>.]@/XXX/name:在源码中引用格式是[<package>.]R.XXX.name. 先贴上在xml文件中引用的代码(在布局xml文件中