{"id":13843608,"url":"https://github.com/ashishb/androidtool","last_synced_at":"2025-10-20T09:04:59.416Z","repository":{"id":57410306,"uuid":"149034312","full_name":"ashishb/androidtool","owner":"ashishb","description":"A better version of the command-line android tool with a more intuitive command-line interface.","archived":false,"fork":false,"pushed_at":"2020-04-16T23:20:36.000Z","size":88,"stargazers_count":32,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T19:46:36.411Z","etag":null,"topics":["adb","android","android-development"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashishb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-16T20:44:47.000Z","updated_at":"2024-10-18T16:44:36.000Z","dependencies_parsed_at":"2022-09-04T22:14:02.233Z","dependency_job_id":null,"html_url":"https://github.com/ashishb/androidtool","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/ashishb/androidtool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishb%2Fandroidtool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishb%2Fandroidtool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishb%2Fandroidtool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishb%2Fandroidtool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashishb","download_url":"https://codeload.github.com/ashishb/androidtool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashishb%2Fandroidtool/sbom","scorecard":{"id":211641,"data":{"date":"2025-08-11","repo":{"name":"github.com/ashishb/androidtool","commit":"bfd08769c32f4d96cac156e42d9c8d07ede000b6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/29 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: pipCommand not pinned by hash: release/release_new_build.sh:18","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2019-41 / GHSA-qfc5-mcwq-26q8"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T00:52:18.830Z","repository_id":57410306,"created_at":"2025-08-17T00:52:18.830Z","updated_at":"2025-08-17T00:52:18.830Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271854475,"owners_count":24834453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["adb","android","android-development"],"created_at":"2024-08-04T17:02:19.938Z","updated_at":"2025-10-20T09:04:59.270Z","avatar_url":"https://github.com/ashishb.png","language":"Python","funding_links":[],"categories":["Python (1887)","Python"],"sub_categories":[],"readme":"# Android Tool [![Downloads](https://pepy.tech/badge/androidtool)](https://pepy.tech/project/androidtool) [![PyPI version](https://badge.fury.io/py/androidtool.svg)](https://badge.fury.io/py/androidtool) ![Python 3.6](https://img.shields.io/badge/python-3.6-brightgreen.svg) [![Build Status](https://img.shields.io/travis/ashishb/androidtool/master.svg?label=Travis%20CI)](https://travis-ci.org/ashishb/androidtool) [![CircleCI](https://img.shields.io/circleci/project/github/ashishb/androidtool.svg?label=Circle%20CI)](https://circleci.com/gh/ashishb/androidtool)\n\nA better version of the command-line android SDK and AVD manager tools with a more intuitive interface\n\n### Installation\n\n`pip3 install androidtool`\n\nNote: Python 2 install is not supported\n\nA better version of the command-line android tool with a more intuitive command-line interface.\n\n### Usage\n\n    androidtool [options] doctor\n    androidtool [options] list build tools\n    androidtool [options] list installed packages\n    androidtool [options] list api versions [--x86_64 | --x86 | --arm] [--google-apis | --no-google-apis | --android-tv | --android-wear]\n    androidtool [options] list other packages\n    androidtool [options] install basic packages\n    androidtool [options] install version \u003candroid-api-version\u003e [--x86_64 | --x86 | --arm] [--google-apis | --no-google-apis | --android-tv | --android-wear]\n    androidtool [options] update all\n    androidtool [options] list avds\n    androidtool [options] create avd \u003cavd-name\u003e \u003candroid-api-version\u003e [--x86_64 | --x86 | --arm] [--google-apis | --no-google-apis | --android-tv | --android-wear]\n    androidtool [options] start avd \u003cavd-name\u003e [--headless]\n\n### Options\n    -v, --verbose       Verbose mode\n\n\n### Sub-command description\n    doctor - ensures that you have right version of Java. In the future, it will check Android SDK installation as well.\n    list build tools - lists available build tools\n    list api versions - lists different SDK versions available to install\n    list other packages - lists packages apart from build tools and api versions\n    list installed packages - lists installed packages\n    list avds - lists setup AVDs\n    install basic tools - installs a basic set of tools. Highly recommended to run it the first time.\n    install version - installs a particular API version\n    update all - updates all installed packages to the latest versions.\n    create avd - creates a new AVD. It will install the package, if required. By default, Google API build with X86_64 (on 64-bit) and X86 on 32-bit will be created.\n    start avd - Starts an existing AVD.\n\n\n### Usage example\n\n```\n$ androidtool doctor\nChecking java version...\nCorrect Java version 1.8 is installed\nChecking SDK manager is installed...\nChecking that basic Android packages are installed...\nPackage 1/8: \"build-tools;28.0.3\" is installed\nPackage 2/8: \"emulator\" is installed\nPackage 3/8: \"tools\" is installed\nPackage 4/8: \"platform-tools\" is installed\nPackage 5/8: \"extras;android;m2repository\" is installed\nPackage 6/8: \"extras;google;m2repository\" is installed\nPackage 7/8: \"patcher;v4\" is installed\nPackage 8/8: \"extras;intel;Hardware_Accelerated_Execution_Manager\" is installed\n```\n\n```\n$ androidtool list build tools\n...\nbuild-tools;26.0.1\nbuild-tools;26.0.2\nbuild-tools;26.0.3\nbuild-tools;27.0.0\nbuild-tools;27.0.1\nbuild-tools;27.0.2\nbuild-tools;27.0.3\nbuild-tools;28.0.0\nbuild-tools;28.0.0-rc1\nbuild-tools;28.0.0-rc2\nbuild-tools;28.0.1\nbuild-tools;28.0.2\nbuild-tools;28.0.3\n```\n\n```\n$ androidtool list api versions --arm\nGoogle API type: default (Standard Android image; no Google API)\narmeabi-v7a -\u003e 14, 14, 10, 14, 15, 16, 17, 18, 19, 21, 22, 24\n\nGoogle API type: google_apis\narmeabi-v7a -\u003e 10, 15, 17, 18, 19, 21, 22, 23, 24, 25\n\nGoogle API type: android-tv\narmeabi-v7a -\u003e 21, 23\n\nGoogle API type: android-wear\narmeabi-v7a -\u003e 23, 25\n\nGoogle API type: android-wear-cn\narmeabi-v7a -\u003e 25\n```\n\n```\n$ androidtool list api versions --x86 --google-apis\nGoogle API type: google_apis\nx86 -\u003e 10, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28\nx86_64 -\u003e 21, 22, 23, 24, 25, 26, 28\n```\n\n```\n$ androidtool list avds\nAvailable Android Virtual Devices:\nName: test_avd1\nPath: /usr/local/Cellar/android-sdk/.android/avd/test_avd1.avd\nTarget: Default Android System Image\nBased on: Android API 28 Tag/ABI: default/x86\n---------\nName: test_avd2\nPath: /usr/local/Cellar/android-sdk/.android/avd/test_avd2.avd\nTarget: Default Android System Image\nBased on: Android API 28 Tag/ABI: default/x86\n```\n\n```\n$ androidtool update all\nNo packages to update\nAll licenses accepted\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashishb%2Fandroidtool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashishb%2Fandroidtool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashishb%2Fandroidtool/lists"}