{"id":15658404,"url":"https://github.com/rishit-dagli/makecode-android","last_synced_at":"2025-05-05T02:56:27.370Z","repository":{"id":38212723,"uuid":"265852194","full_name":"Rishit-dagli/MakeCode-Android","owner":"Rishit-dagli","description":"Run MakeCode Arcade projects on Android!","archived":false,"fork":false,"pushed_at":"2023-01-24T23:00:47.000Z","size":5428,"stargazers_count":22,"open_issues_count":13,"forks_count":23,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T21:41:22.362Z","etag":null,"topics":["android","android-app","gradle","kotlin","makecode","makecode-android","makecode-arcade","microsoft"],"latest_commit_sha":null,"homepage":"http://makecode-android.rishit.tech/","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/Rishit-dagli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/rishitdagli","http://paypal.me/alpadagli"]}},"created_at":"2020-05-21T13:12:46.000Z","updated_at":"2025-03-13T16:04:33.000Z","dependencies_parsed_at":"2023-02-14T02:16:25.902Z","dependency_job_id":null,"html_url":"https://github.com/Rishit-dagli/MakeCode-Android","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishit-dagli%2FMakeCode-Android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishit-dagli%2FMakeCode-Android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishit-dagli%2FMakeCode-Android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rishit-dagli%2FMakeCode-Android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rishit-dagli","download_url":"https://codeload.github.com/Rishit-dagli/MakeCode-Android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252429928,"owners_count":21746571,"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-app","gradle","kotlin","makecode","makecode-android","makecode-arcade","microsoft"],"created_at":"2024-10-03T13:12:21.500Z","updated_at":"2025-05-05T02:56:27.352Z","avatar_url":"https://github.com/Rishit-dagli.png","language":"Kotlin","funding_links":["https://www.buymeacoffee.com/rishitdagli","http://paypal.me/alpadagli"],"categories":[],"sub_categories":[],"readme":"# MakeCode-Android\n\n![Version](https://img.shields.io/badge/version-v0.2.0-red)\n[![Build Status](https://dev.azure.com/rishitdagli/MakeCode-Android/_apis/build/status/Rishit-dagli.MakeCode-Android?branchName=master)](https://dev.azure.com/rishitdagli/MakeCode-Android/_build/latest?definitionId=1\u0026branchName=master)\n![Android CI](https://github.com/Rishit-dagli/MakeCode-Android/workflows/Android%20CI/badge.svg)\n![GitHub contributors](https://img.shields.io/github/contributors/Rishit-dagli/MakeCode-Android)\n\nThis project is completely inspired by [Microsoft Build 2020 Student Zone](https://github.com/microsoft/StudentsAtBuild). \nFrom the wonderful talks presented at  [Microsoft Build 2020 Student Zone](https://github.com/microsoft/StudentsAtBuild) \nabout [Microsoft MakeCode Arcade](https://arcade.makecode.com/), \nI noticed that there was no native suppport or any such tool to convert or run the games made in\n**MakeCode in Android** or IoS. This project shows how you could run your MakeCode project on Android (IoS support coming soon!). \nThe project is completely **beginner friendly** which means even if you don't know about Android, you can still get the project up and \nrunning (Detailed instructions meantioned below).\n\nIf you have contributed in any form to this project, reporting [Issues](https://github.com/Rishit-dagli/MakeCode-Android/issues) and/or\nopening [Pull Requests](https://github.com/Rishit-dagli/MakeCode-Android/pulls) find your name and photo at [Contributors ✨](#contributors-)\n\n**If you are using this project, kindly [fill this form](https://forms.gle/vX3tsWn8cnsp73rd8) for the MakeCode-Android directory.**\n\n## What this document contains\n\n- [MakeCode-Android](#makecode-android)\n  * [What to expect](#what-to-expect)\n  * [Tools Used](#tools-used)\n  * [Using this Project](#using-this-project)\n    + [1. Fork this repository :fork_and_knife:](#1-fork-this-repository-fork_and_knife)\n    + [2. Clone this repository :busts_in_silhouette:](#2-clone-this-repository-busts_in_silhouette)\n    + [3. Set it up :wrench:](#3-set-it-up-wrench)\n    + [4. Editing this Project for your needs](#4-editing-this-project-for-your-needs-gear)\n      - [Open project in your preferred editor](#open-project-in-your-preferred-editor)\n      - [Understanding files which you should care about](#understanding-files-which-you-should-care-about)\n      - [Editing files](#editing-files)\n        * [Step 1](#step-1)\n        * [Step 2](#step-2)\n        * [Step 3](#step-3)\n  * [Contributing](#contributing)\n    + [1. Ready, Set, Go!!! :turtle::rabbit2:](#1-ready-set-go-turtlerabbit2)\n    + [2. Create a new branch :bangbang:](#2-create-a-new-branch-bangbang)\n    + [3. Push your awesome work to your remote repository :rocket:](#3-push-your-awesome-work-to-your-remote-repository-rocket)\n    + [4. Finally, make a PR! :fire:](#4-finally-make-a-pr-fire)\n  * [Contributors ✨](#contributors-)\n  \n## What to expect\n\nThis project shows you how you could set up an Android project with a good UI, in very little time. You should expect to be able to run \nyour MakeCode example in this manner with complete customizabbility-\n\n![App Screenshots](Screenshots/MakeCode-Android_screenshots_b_and_w.png)\n\nEverything you see on the screen is completely customizable. While this document we will refer the first image here as `Page 1` and the\nsecond one as `Page 2` of the app.\n\n## Tools Used\n\n* [MakeCode Arcade](https://arcade.makecode.com/) to build the major Arcade game\n* Code built using [Kotlin](https://kotlinlang.org/)\n* UI built using [XML](https://en.wikipedia.org/wiki/XML)\n* Open-source build automation using [Gradle](https://gradle.org/)\n* CI for Gradle Builds using [GitHub Actions](https://github.com/features/actions)\n* CI for Gradle Builds and UI Tests using [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/)\n* [Figma](https://www.figma.com/) to design the images\n\n## Using this Project\n\n### 1. Fork this repository :fork_and_knife:\n\nYou can get your own fork/copy of [MakeCode-Android](https://github.com/Rishit-dagli/MakeCode-Android) by using the \n\u003ca href=\"https://github.com/Rishit-dagli/MakeCode-Android/new/master?readme=1#fork-destination-box\"\u003e\u003ckbd\u003e\u003cb\u003eFork\u003c/b\u003e\u003c/kbd\u003e\u003c/a\u003e button or clicking \n[here](https://github.com/Rishit-dagli/MakeCode-Android/new/master?readme=1#fork-destination-box).\n [![Fork Button](https://help.github.com/assets/images/help/repository/fork_button.jpg)](https://github.com/CoderJolly/IPU-Engineering-Notes)\n \n \n### 2. Clone this repository :busts_in_silhouette:\nYou need to clone (download a copy of) this repository to your local machine using:\n```sh\n$ git clone https://github.com/Your_Username/MakeCode-Android.git\n```\n\u003e This makes a local copy of repository in your machine.\nOnce you have cloned the `MakeCode-Android` repository in GitHub, move to that folder first using change directory command on linux and Mac.\n```sh\n# This will change directory to a folder MakeCode-Android\n$ cd MakeCode-Android\n```\nMove to this folder for all other commands.\n\n### 3. Set it up :wrench:\nRun the following commands to see that *your local copy* has a reference to *your forked remote repository* in GitHub :octocat:\n```sh\n$ git remote -v\norigin  https://github.com/Your_Username/MakeCode-Android.git (fetch)\norigin  https://github.com/Your_Username/MakeCode-Android.git (push)\n```\nNow, lets add a reference to the original [MakeCode-Android](https://github.com/Rishit-dagli/MakeCode-Android) repository using\n```sh\n$ git remote add upstream https://github.com/Rishit-dagli/MakeCode-Android.git\n```\n\u003e This adds a new remote named ***upstream***.\nSee the changes using\n```sh\n$ git remote -v\norigin    https://github.com/Your_Username/MakeCode-Android.git (fetch)\norigin    https://github.com/Your_Username/MakeCode-Android.git (push)\nupstream  https://github.com/Rishit-dagli/MakeCode-Android.git (fetch)\nupstream  https://github.com/Rishit-dagli/MakeCode-Android.git (push)\n```\n\n### 4. Editing this Project for your needs :gear:\n\n#### Open project in your preferred editor\n\nYou can essentially open the project in any editor but I would advise you to have an editor which can have a virtual device so you can \ntest out your project locally. The editors I would suggest are-\n\n* [VS Code](https://code.visualstudio.com/) is one of the best editors and you can have all you need with it. It is best if your machine\ndoes not have very great specs, it is pretty light weight too.\n* [Android Studio](https://developer.android.com/studio) is the officially preferred editor for Android development, however it might \nrequire your machine to have great specs to run it efficiently.\n\n#### Understanding files which you should care about\n\nThere are majorly two files you would have to edit:\n\n* [colors.xml](app/src/main/res/values/colors.xml)\n\nThis is the file where you would edit the colors you need for your app.\n\n* [strings.xml](app/src/main/res/values/strings.xml)\n\nYou would majorly focus on editing this as most of the content would be built for you from here\n\nA few other files:\n\n* [MainActivity.kt](https://github.com/Rishit-dagli/MakeCode-Android/blob/master/app/src/main/java/tech/rishit/makecode_android/MainActivity.kt) - The file used to write the Kotlin code for Page 1\n* [Credits.kt](https://github.com/Rishit-dagli/MakeCode-Android/blob/master/app/src/main/java/tech/rishit/makecode_android/Credits.kt)- The file used to write the Kotlin code for Page 2\n* [activity_main.xml](https://github.com/Rishit-dagli/MakeCode-Android/blob/master/app/src/main/res/layout/activity_main.xml)- The UI code for Page 1\n* [activity_credits.xml](https://github.com/Rishit-dagli/MakeCode-Android/blob/master/app/src/main/res/layout/activity_credits.xml)- The UI code for Page 2\n\n#### Editing files\n\n##### Step 1\n\nOpen [strings.xml](app/src/main/res/values/strings.xml), edit each of the values according to this table\n\n|Name|Purpose|\n|----|----|\n|app_name|The name that appears in top bar\n|project_name|The name that appears under the top bar\n|project_id|Your Project ID to display the game (example below)\n|githubproject_url|Your MakeCode project GitHub URL\n|footer_description|Footer on Page 1\n|profile_picture_url|Your profile picture URL on Page 2\n|bio|Your bio\n|github_profile|Your personal GitHub profile URL\n|twitter_url|Your Twitter URL\n|website|Your website link\n|linkedin_profile|Your LinkedIn profile URL\n|insta_profile|Your Instagram profile URL\n\n##### Step 2\n\nEdit your `project_id`, make sure your `project_id` is correct and also consider rechecking it, this\nfield is responsible for displaying your game.\n\n\u003e Eg. If your shareable URL is `https://makecode.com/_df5TAVWsvJ4d\\\"` then your `project_id` would be \n`_df5TAVWsvJ4d\\\"`\n\n##### Step 3\n\nOpen [colors.xml](app/src/main/res/values/colors.xml), edit any colors if you need to\n\n**And now you are all done your app is ready :smiley: .** In case you face any error while doing so or any errors in the app, you are\nwelcome to report them [here](https://github.com/Rishit-dagli/MakeCode-Android/issues).\n\n## Contributing\n\n### 1. Ready, Set, Go!!! :turtle::rabbit2:\nOnce you have completed these steps, you are ready to start contributing by checking our `Help Wanted` Issues and creating [pull requests](https://github.com/Rishit-dagli/MakeCode-Android.git/pulls).\n\n### 2. Create a new branch :bangbang:\nWhenever you are going to make contribution. Please create separate branch using command and keep your `master` branch clean (i.e. synced with remote branch).\n```sh\n# It will create a new branch with name Branch_Name and switch to branch Folder_Name\n$ git checkout -b Folder_Name\n```\nCreate a separate branch for contribution and try to use same name of branch as of folder.\nTo switch to desired branch\n```sh\n# To switch from one folder to other\n$ git checkout Folder_Name\n```\nTo add the changes to the branch. Use\n```sh\n# To add all files to branch Folder_Name\n$ git add .\n```\nType in a message relevant for the code reviewer using\n```sh\n# This message get associated with all files you have changed\n$ git commit -m 'relevant message'\n```\n### 3. Push your awesome work to your remote repository :rocket:\n```sh\n# To push your work to your remote repository\n$ git push -u origin Folder_Name\n```\n### 4. Finally, make a PR! :fire:\nGo to your repository in browser and click on `compare and pull requests`.\nThen add a title and description to your pull request that explains your precious effort.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.rishit.tech\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/39672672?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRishit Dagli\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Rishit-dagli/MakeCode-Android/commits?author=Rishit-dagli\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://blog.iamprins.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/54654484?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRicardo Prins\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Rishit-dagli/MakeCode-Android/commits?author=ricardoprins\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishit-dagli%2Fmakecode-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frishit-dagli%2Fmakecode-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frishit-dagli%2Fmakecode-android/lists"}