

Android-resource-remover – utility to auto-remove unused Android resources - philippb
https://github.com/KeepSafe/android-resource-remover

======
dotnick
I remember reading somewhere that lint might give false positives if you refer
to resources in your Java code instead of the xml.

From the README:

 _If you have references to elements in an old layout that you 're not using
anymore, you will get a compile error that the ID (R.id.<something>) can not
be found. The reason is that the resource file that contained R.id.<something>
has been removed as it was not used any more. Time to clean up your code._

If there is a reference to the resource somewhere doesn't that mean that the
resource is in use?

~~~
philippb
we haven't encountered any problems with lint. Your app will just not compile
and tell you whats missing.

The case from the readme is: We were loading view A. Then we looked for
R.id.something in view A in a method.

Later we replaced view A with B, but never took out R.id.something that was
referring to view A (it was also never used). This never caused problems as
view A was still in the resources.

Lint marks view A as unused as no activity is ever loading it. After removing
A, R.id.something can not be found anymore and you will get a compile error.
It was time to remove that dead reference.

------
Windwaker
When I run:

    
    
        android-resource-remover --lint <LINT_DIR>
    

On my projects root it gives me this[1]. Seems as if the tools is calling lint
incorrectly.

[1]:
[http://hastebin.com/apucalovak.vhdl](http://hastebin.com/apucalovak.vhdl)

~~~
ca77y
in the output you can see how lint is called: 'Arguments for subprocess.call:
['/opt/adt/sdk/tools/lint', '.', '\--xml', './lint-result.xml']'

try running it from the console.

------
pianoben
This is super-useful; sometimes it takes more time to find the right resource
to edit than the time it takes to actually make the change!

