{"id":17966200,"url":"https://github.com/aboutcode-org/android-inspector","last_synced_at":"2026-01-24T09:02:14.958Z","repository":{"id":256485244,"uuid":"855454435","full_name":"aboutcode-org/android-inspector","owner":"aboutcode-org","description":"android-inspector is a library of utilities to introspect source and binary Android apps and Android device firmware. It can be used as a plugin to ScanCode.","archived":false,"fork":false,"pushed_at":"2024-10-15T16:50:26.000Z","size":475,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-10-21T22:33:09.897Z","etag":null,"topics":["android","android-application","decompiler","dex","extractor","sbom"],"latest_commit_sha":null,"homepage":"https://aboutcode.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aboutcode-org.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-10T22:28:11.000Z","updated_at":"2024-11-17T11:57:45.000Z","dependencies_parsed_at":"2024-10-16T20:49:40.174Z","dependency_job_id":null,"html_url":"https://github.com/aboutcode-org/android-inspector","commit_stats":null,"previous_names":["aboutcode-org/android-inspector"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/aboutcode-org/android-inspector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fandroid-inspector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fandroid-inspector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fandroid-inspector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fandroid-inspector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aboutcode-org","download_url":"https://codeload.github.com/aboutcode-org/android-inspector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fandroid-inspector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28721978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-application","decompiler","dex","extractor","sbom"],"created_at":"2024-10-29T13:08:17.562Z","updated_at":"2026-01-24T09:02:14.934Z","avatar_url":"https://github.com/aboutcode-org.png","language":"Python","readme":"=================\nandroid-inspector\n=================\n\nandroid-inspector is a set of utilities to inspect binary Android application APK as well as Android\nfirmwares. This is also a ScanCode.io pipeline plugin.\n\nThe available features are:\n\n- Extract and map the files found in a binary Android application to the assumed corresponding\n  source code.\n\nOther information:\n\n- License: Apache-2.0\n- Copyright (c) nexB Inc., AboutCode.org and others.\n- Homepage: https://github.com/aboutcode-org/android-inspector/\n\n\nRequirements\n------------\n\n- ScanCode.io https://github.com/nexB/scancode.io\n- Ensure Java 11+ is in your path (using an OpenJDK installation)\n- Install jadx 1.5.0 https://github.com/skylot/jadx (You will need to add jadx to your path or\n  moved its ``bin`` and ``lib`` directories to your ``/usr`` directory.\n\nSee also the next section for detailed instructions.\n\n\nLocal installation and usage test\n------------------------------------\n\nTo install:\n~~~~~~~~~~~~\n\n- Clone android-inspector locally side-by-side: ``git clone https://github.com/aboutcode-org/android-inspector``\n- Clone ScanCode.io locally side-by-side: ``git clone https://github.com/aboutcode-org/scancode.io``\n- Change to the scancode.io directory and run ``make dev`` then ``source bin/activate`` \n\n  - Follow the full instructions at https://scancodeio.readthedocs.io/en/latest/installation.html#local-development-installation\n\n- Install jadx minimally\n\n  - Download https://github.com/skylot/jadx/releases/download/v1.5.0/jadx-1.5.0.zip in your\n    scancode.io directory\n  - Extract with ``unzip -qd jadx-1.5.0 jadx-1.5.0.zip``\n  - Add the extracted directory jadx-1.5.0/bin and jadx-1.5.0/lib to your path with\n    ``export PATH=$PATH:`pwd`/jadx-1.5.0/bin/jadx:`pwd`/jadx-1.5.0/lib``\n\n- Run ``pip install --editable ../android-inspector``\n- Run ScanCode.io with ``./manage.py runserver --insecure`` and open the URL in your browser.\n  There is a new \"android_d2d\" pipeline available when creating a new project.\n\n\nTo use with example Android APKs and sources:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- Create a new project and name it \"sample-apk-analysis\"\n- In the input section, add ``Download URLs`` for the source and binary of a public APK:\n\nYou can use this pair of source (aka. \"from\") and binaries (aka. \"to\"):\n  \n  - https://github.com/ochadenas/cpudefense/archive/refs/tags/v1.42.zip#from\n  - https://f-droid.org/repo/de.chadenas.cpudefense_42.apk#to\n\nOr you can use alternatively this other example pair:\n\n- https://github.com/Acclorite/book-story/archive/refs/tags/v1.3.0.tar.gz#from\n- https://github.com/Acclorite/book-story/releases/download/v1.3.0/book-story.apk#to\n\nThen:\n\n- Select \"android_d2d\" in the pipeline dropdown and click \"create\".\n- Wait for the pipeline to complete, and check the created Relations as well as the missing \"To\"\n  source files resulting from mapping the binaries back to sources.\n  \nAt this stage we typically report missing many source files because these are not present in the\nsource code reposirories. In particular:\n\n- PurlDB matching would be enabled in a full ScanCode.io installation and could help match\n  the Android toolchain and standard library if indexed.\n- There is a significant number of standard library Java files that are part of the Android\n  toolchain. This will be resolved with this issue https://github.com/aboutcode-org/android-inspector/issues/3\n\n\nDevelopment\n----------------\n\n- Install requirements and dependencies using ``make dev``\n- Then ``source venv/bin/activate``\n\nTesting:\n\n- To run tests: ``pytest -vvs``\n\n\n\nAcknowledgements, Funding, Support and Sponsoring\n--------------------------------------------------------\n\nThis project is funded, supported and sponsored by:\n\n- Generous support and contributions from users like you!\n- the European Commission NGI programme\n- the NLnet Foundation \n- the Swiss State Secretariat for Education, Research and Innovation (SERI)\n- Google, including the Google Summer of Code and the Google Seasons of Doc programmes\n- Mercedes-Benz Group\n- Microsoft and Microsoft Azure\n- AboutCode ASBL\n- nexB Inc. \n\n\n\n|europa|   |dgconnect| \n\n|ngi|   |nlnet|   \n\n|aboutcode|  |nexb|\n\n\nThis project was funded through the NGI0 Core Fund, a fund established by NLnet with financial\nsupport from the European Commission's Next Generation Internet programme, under the aegis of DG\nCommunications Networks, Content and Technology under grant agreement No 101092990.\n\n|ngizerocore| https://nlnet.nl/project/Back2source-next/\n\n.. |nlnet| image:: https://nlnet.nl/logo/banner.png\n    :target: https://nlnet.nl\n    :height: 50\n    :alt: NLnet foundation logo\n\n.. |ngi| image:: https://ngi.eu/wp-content/uploads/thegem-logos/logo_8269bc6efcf731d34b6385775d76511d_1x.png\n    :target: https://ngi.eu35\n    :height: 50\n    :alt: NGI logo\n\n.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg\n    :target: https://nexb.com\n    :height: 30\n    :alt: nexB logo\n\n.. |europa| image:: https://ngi.eu/wp-content/uploads/sites/77/2017/10/bandiera_stelle.png\n    :target: http://ec.europa.eu/index_en.htm\n    :height: 40\n    :alt: Europa logo\n\n.. |aboutcode| image:: https://aboutcode.org/wp-content/uploads/2023/10/AboutCode.svg\n    :target: https://aboutcode.org/\n    :height: 30\n    :alt: AboutCode logo\n\n.. |swiss| image:: https://www.sbfi.admin.ch/sbfi/en/_jcr_content/logo/image.imagespooler.png/1493119032540/logo.png\n    :target: https://www.sbfi.admin.ch/sbfi/en/home/seri/seri.html\n    :height: 40\n    :alt: Swiss logo\n\n.. |dgconnect| image:: https://commission.europa.eu/themes/contrib/oe_theme/dist/ec/images/logo/positive/logo-ec--en.svg\n    :target: https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/communications-networks-content-and-technology_en\n    :height: 40\n    :alt: EC DG Connect logo\n\n.. |ngizerocore| image:: https://nlnet.nl/image/logos/NGI0_tag.svg\n    :target: https://nlnet.nl/core\n    :height: 40\n    :alt: NGI Zero Core Logo\n\n.. |ngizerocommons| image:: https://nlnet.nl/image/logos/NGI0_tag.svg\n    :target: https://nlnet.nl/commonsfund/\n    :height: 40\n    :alt: NGI Zero Commons Logo\n\n.. |ngizeropet| image:: https://nlnet.nl/image/logos/NGI0PET_tag.svg\n    :target: https://nlnet.nl/PET\n    :height: 40\n    :alt: NGI Zero PET logo\n\n.. |ngizeroentrust| image:: https://nlnet.nl/image/logos/NGI0Entrust_tag.svg\n    :target: https://nlnet.nl/entrust\n    :height: 38\n    :alt: NGI Zero Entrust logo\n\n.. |ngiassure| image:: https://nlnet.nl/image/logos/NGIAssure_tag.svg\n    :target: https://nlnet.nl/image/logos/NGIAssure_tag.svg\n    :height: 32\n    :alt: NGI Assure logo\n\n.. |ngidiscovery| image:: https://nlnet.nl/image/logos/NGI0Discovery_tag.svg\n    :target: https://nlnet.nl/discovery/\n    :height: 40\n    :alt: NGI Discovery logo\n\n\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fandroid-inspector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faboutcode-org%2Fandroid-inspector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fandroid-inspector/lists"}