{ "info": { "author": "Keepsafe", "author_email": "support@getkeepsafe.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python" ], "description": "[![Build Status](https://travis-ci.org/KeepSafe/android-resource-remover.svg?branch=master)](https://travis-ci.org/KeepSafe/android-resource-remover)\n\n![resource-remover](https://keepsafe.github.io/i/proj/opensource_resource-remover.png)\nandroid-resource-remover\n========================\n\nandroid-resource-remover is utility that removes unused resources reported by [Android Lint](http://developer.android.com/tools/help/lint.html) from your project. The goal is to reduce your APK size and keep the app clean from unused stuff.\n\n\n## Getting started\nRequirements:\n\n* Python >= 2.7.*\n* ADT >= 16\n\nTo install run:\n\n pip install android-resource-remover\n\n## Usage - general\nOpen the directory where your app is located and run\n\n```\nandroid-resource-remover\n```\n\nAndroid resources have dependencies to each other. This means that after running resource-remover the first time, it will clean up unused resources file that hold a reference to other resources. You can run this resource remover multiple times until there is no more unused resources to be removed. We've been running it up to 4 times in a row.\n\n\n### Use with gradle\n`android-resource-remover` is build on top of android lint. If you have a gradle project you have to run lint within your gradle build scripts and then use the `lint-result.xml` as the input file for `android-resource-remover`\n\ne.g.\n\n ./gradlew clean build :lint && android-resource-remover --xml build/outputs/lint-results.xml\n\n\n### Options\n\n#### --help\nPrints help message.\n\n#### --lint\nFull path to the lint tool like: `d:\\Dev\\Android SDK\\tools\\lint`\n\nThis will be executed as the lint command. If not provided it assumes the lint command in available and runs: `lint`\n\n#### --app\nFull path to the android app like: `d:\\Dev\\My_Android_App`\n\nIf not provided it assumes the current directory is the app's root directory.\n\n#### --xml\n\nUse existing lint result. If provided lint won't be run.\n\n#### --ignore-layouts\n\nIgnore layout directory\n\n## Expected behavior\n### Resource ID in code not found\n\nIf 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.`) can not be found. The reason is that the resource file that contained `R.id.` has been removed as it was not used any more. Time to clean up your code.\n\n## FAQ\n\n**Q: installing dependency lxml failed** with `clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]` \n*A: [http://stackoverflow.com/a/22322645](http://stackoverflow.com/a/22322645)*\n\n**Q: installing dependency lxml failed** with `fatal error: 'libxml/xmlversion.h' file not found` \n*A: There are several ways to fix this listed on stackoverflow [http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-os-x-10-9](http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-os-x-10-9)*\n\n## Issues and PR\n\nWhen opening an issue please include as much info as possible. pip.log, python varsion/info, os version/info might all be help us understanding what's the problem.\n\nIn PR please keep the formatting.\n\n## Licence\nApache version 2.0\n\nCHANGES\n=======\n\n0.1.7 (2016-06-20)\n------------------\n\n- Bugfixes.\n\n0.1.6 (2016-04-09)\n------------------\n\n- Bugfixes.\n\n\n0.1.5 (2015-07-27)\n------------------\n\n- Check if the file exists before removing values.\n\n\n0.1.4 (2015-05-21)\n------------------\n\n- Includes data files for pip.\n\n\n0.1.3 (2015-03-31)\n------------------\n\n- Executes subprocess in a safe way.\n\n\n0.1.2 (2015-03-25)\n------------------\n\n- Fixes #9. Supports new missing resource message pattern.\n\n\n0.1.1 (2014-09-11)\n------------------\n\n- Fixes #5. Checks if the file exists before trying to remove it.\n\n0.1.0 (2014-02-14)\n------------------\n\n- Initial release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/KeepSafe/android-resource-remover/", "keywords": "android", "license": "Apache", "maintainer": null, "maintainer_email": null, "name": "android-resource-remover", "package_url": "https://pypi.org/project/android-resource-remover/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/android-resource-remover/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/KeepSafe/android-resource-remover/" }, "release_url": "https://pypi.org/project/android-resource-remover/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "Android resource remover", "version": "0.1.7" }, "last_serial": 2850420, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ca4e7857b2b4ba3376d2f10d21e474ae", "sha256": "218324c07a8393cfe1a4f894ac16eb6acde73b614c6a06ec582d90fbe87341cf" }, "downloads": -1, "filename": "android-resource-remover-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ca4e7857b2b4ba3376d2f10d21e474ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46947, "upload_time": "2014-04-22T18:49:01", "url": "https://files.pythonhosted.org/packages/0c/a9/eac46fcaeafc23a878426be64ec86e32c8d3443dd6e0ea9d71938dded8b9/android-resource-remover-0.1.0.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8b7f63e751ce583fc56238c347664917", "sha256": "0045569ac5843b120d633d7065c6c64fb2f5dbb5d9c09435671dd59530941a86" }, "downloads": -1, "filename": "android-resource-remover-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8b7f63e751ce583fc56238c347664917", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5349, "upload_time": "2015-05-15T18:48:51", "url": "https://files.pythonhosted.org/packages/49/6f/9afbfca508f0494c0f2b09a1fd8bb7f02f5f65cd83b7bc659b11cbe03be5/android-resource-remover-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "60bcf1ea5d5dc6ccae422c8a75674b57", "sha256": "f7633218c37dda4b8ae017a94129a35b4b143dbd7fa5131a75b5a5832920a9c8" }, "downloads": -1, "filename": "android-resource-remover-0.1.4.tar.gz", "has_sig": false, "md5_digest": "60bcf1ea5d5dc6ccae422c8a75674b57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9896, "upload_time": "2015-05-21T11:46:31", "url": "https://files.pythonhosted.org/packages/02/a9/f2dde5be6452edfd27be5502334fa7770401e32a902824127ba11549facc/android-resource-remover-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "3c1fa277b7e62058fec7d9f97d6dfad1", "sha256": "612a01ff406b0eb63829bd4f1cd6603ba292a28c8996c25a18a2d851cf80de54" }, "downloads": -1, "filename": "android-resource-remover-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3c1fa277b7e62058fec7d9f97d6dfad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10095, "upload_time": "2015-07-27T17:07:02", "url": "https://files.pythonhosted.org/packages/97/77/4f48e40fb7d49ec90cdf5644148227b35fcdafede09bdae6b00132fe8322/android-resource-remover-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "99b104462ef1b6b52c9f0c12dda7a7c2", "sha256": "ab25e8d2bf2fed268b1771e2b313b1afeb73425cd27ad870c72efae543d875e7" }, "downloads": -1, "filename": "android-resource-remover-0.1.6.tar.gz", "has_sig": false, "md5_digest": "99b104462ef1b6b52c9f0c12dda7a7c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10679, "upload_time": "2016-04-09T18:30:03", "url": "https://files.pythonhosted.org/packages/51/84/b2c429e533c9418dee799b9a82905aa1c9002d88e9146b97cc9ff5028e55/android-resource-remover-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "91bdf4d650364e430e6dfd51e108791b", "sha256": "ba6e5306ff81c19e73b2b34e74477e5f5d60c932ec3200297bdf8081a0df3df6" }, "downloads": -1, "filename": "android-resource-remover-0.1.7.tar.gz", "has_sig": false, "md5_digest": "91bdf4d650364e430e6dfd51e108791b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10950, "upload_time": "2016-06-20T13:30:14", "url": "https://files.pythonhosted.org/packages/e1/04/e9e0eb7da5d963e8229685603dbc723ae0ffcc5bb37e5ed8683800882778/android-resource-remover-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "91bdf4d650364e430e6dfd51e108791b", "sha256": "ba6e5306ff81c19e73b2b34e74477e5f5d60c932ec3200297bdf8081a0df3df6" }, "downloads": -1, "filename": "android-resource-remover-0.1.7.tar.gz", "has_sig": false, "md5_digest": "91bdf4d650364e430e6dfd51e108791b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10950, "upload_time": "2016-06-20T13:30:14", "url": "https://files.pythonhosted.org/packages/e1/04/e9e0eb7da5d963e8229685603dbc723ae0ffcc5bb37e5ed8683800882778/android-resource-remover-0.1.7.tar.gz" } ] }