{"id":13435409,"url":"https://github.com/zhanghai/BeeShell","last_synced_at":"2025-03-18T02:31:52.601Z","repository":{"id":40761467,"uuid":"376419265","full_name":"zhanghai/BeeShell","owner":"zhanghai","description":"Java REPL on Android with BeanShell","archived":false,"fork":false,"pushed_at":"2024-07-24T18:17:48.000Z","size":385,"stargazers_count":109,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-01T03:16:13.175Z","etag":null,"topics":["android","android-application","java","repl"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/zhanghai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-13T02:22:45.000Z","updated_at":"2024-07-31T18:26:24.000Z","dependencies_parsed_at":"2024-07-24T21:08:56.337Z","dependency_job_id":null,"html_url":"https://github.com/zhanghai/BeeShell","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FBeeShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FBeeShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FBeeShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FBeeShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhanghai","download_url":"https://codeload.github.com/zhanghai/BeeShell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221704738,"owners_count":16866819,"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","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","java","repl"],"created_at":"2024-07-31T03:00:35.479Z","updated_at":"2024-10-27T16:32:38.862Z","avatar_url":"https://github.com/zhanghai.png","language":"Kotlin","readme":"# BeeShell\n\n[![Android CI status](https://github.com/zhanghai/BeeShell/workflows/Android%20CI/badge.svg)](https://github.com/zhanghai/BeeShell/actions) [![GitHub release](https://img.shields.io/github/v/release/zhanghai/BeeShell)](https://github.com/zhanghai/BeeShell/releases) [![License](https://img.shields.io/github/license/zhanghai/BeeShell?color=blue)](LICENSE)\n\n![BeeShell](app/src/main/res/mipmap-xxxhdpi/launcher_icon.png)\n\nJava REPL on Android with [BeanShell](https://github.com/beanshell/beanshell).\n\nUseful for quickly checking some framework API behavior, or calling Java APIs with the permissions of ADB shell.\n\nThis is not an officially supported Google product.\n\n[\u003cimg alt=\"Get it on Google Play\" src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" width=\"240\"\u003e](https://play.google.com/store/apps/details?id=me.zhanghai.android.beeshell)\n\n[Get the APK](https://github.com/zhanghai/BeeShell/releases/latest/download/app-release.apk)\n\n## Preview\n\n\u003cp\u003e\u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/1.png\" width=\"49%\" /\u003e \u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/2.png\" width=\"49%\" /\u003e\u003c/p\u003e\n\n## Built-ins\n\nThe application `Context` is available via the `context` variable in the global namespace.\n\nAn `Activity` instance is also available as `activity` when running with UI, and references to it in the global namespace will be cleared upon rotation to avoid memory leaks.\n\nA system `Context` instance is also available as `systemContext` when running in ADB shell.\n\nOther BeanShell built-ins are also available, though not guaranteed to work, e.g. Swing-based UI built-ins won't work on Android.\n\n## Running in ADB shell\n\nExecute the following command in `adb shell`:\n\n```\npm_path=`pm path me.zhanghai.android.beeshell` \u0026\u0026 apk_path=${pm_path#package:} \u0026\u0026 `dirname $apk_path`/lib/*/libbsh.so\n```\n\n## Limitation\n\n[BeanShell](https://github.com/beanshell/beanshell) was written for running on a desktop JVM instead of Android, and as a result class-related Java syntax may be unsupported in this app. Specifically, you cannot define new classes except for anonymous inner classes implementing an existing interface.\n\n## License\n\n    Copyright 2020 Google LLC\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        https://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhanghai%2FBeeShell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhanghai%2FBeeShell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhanghai%2FBeeShell/lists"}