├── snap ├── gui │ └── android-studio.desktop └── snapcraft.yaml ├── .github └── workflows │ ├── pull-request.yml │ ├── promote-to-stable.yml │ ├── sync-upstream.yml │ └── release-to-candidate.yml └── README.md /snap/gui/android-studio.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=Android Studio 5 | Icon=${SNAP}/bin/studio.png 6 | Exec=android-studio %f 7 | Comment=Android Studio 8 | Categories=Development;IDE; 9 | Terminal=false 10 | StartupWMClass=jetbrains-studio 11 | -------------------------------------------------------------------------------- /.github/workflows/pull-request.yml: -------------------------------------------------------------------------------- 1 | name: Pull Request 2 | 3 | on: 4 | pull_request: 5 | branches: [ "**" ] 6 | 7 | concurrency: 8 | group: ${{ github.workflow }}-${{ github.ref }} 9 | cancel-in-progress: true 10 | 11 | jobs: 12 | build: 13 | name: 🧪 Build snap on amd64 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: 🧪 Build snap on amd64 17 | uses: snapcrafters/ci/test-snap-build@main 18 | -------------------------------------------------------------------------------- /.github/workflows/promote-to-stable.yml: -------------------------------------------------------------------------------- 1 | name: Promote 2 | 3 | on: 4 | issue_comment: 5 | types: 6 | - created 7 | 8 | permissions: 9 | issues: write 10 | 11 | jobs: 12 | promote: 13 | name: ⬆️ Promote to stable 14 | environment: "Candidate Branch" 15 | runs-on: ubuntu-latest 16 | if: | 17 | ( !github.event.issue.pull_request ) 18 | && contains(github.event.comment.body, '/promote ') 19 | && contains(github.event.*.labels.*.name, 'testing') 20 | steps: 21 | - name: ⬆️ Promote to stable 22 | uses: snapcrafters/ci/promote-to-stable@main 23 | with: 24 | github-token: ${{ secrets.GITHUB_TOKEN }} 25 | store-token: ${{ secrets.SNAP_STORE_STABLE }} 26 | -------------------------------------------------------------------------------- /snap/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: android-studio 2 | version: "2025.2.2.8-wallpapers" 3 | summary: The IDE for Android 4 | description: | 5 | Android Studio provides the fastest tools for building apps on every type 6 | of Android device. 7 | 8 | World-class code editing, debugging, performance tooling, a flexible build 9 | system, and an instant build/deploy system all allow you to focus on 10 | building unique and high quality apps. 11 | grade: stable 12 | confinement: classic 13 | base: core22 14 | compression: lzo 15 | architectures: 16 | - build-on: amd64 17 | apps: 18 | android-studio: 19 | command: bin/studio.sh 20 | environment: 21 | PULSE_SERVER: $XDG_RUNTIME_DIR/pulse/native 22 | parts: 23 | android-studio: 24 | plugin: dump 25 | source: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2025.2.2.8/android-studio-2025.2.2.8-linux.tar.gz 26 | build-attributes: 27 | - no-patchelf 28 | -------------------------------------------------------------------------------- /.github/workflows/sync-upstream.yml: -------------------------------------------------------------------------------- 1 | name: Update 2 | 3 | on: 4 | # Runs at 10:00 UTC every day 5 | schedule: 6 | - cron: '0 10 * * *' 7 | # Allows you to run this workflow manually from the Actions tab 8 | workflow_dispatch: 9 | 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | sync: 16 | name: Sync version with upstream 17 | environment: "Candidate Branch" 18 | runs-on: ubuntu-latest 19 | steps: 20 | - name: Sync version with upstream 21 | uses: snapcrafters/ci/sync-version@main 22 | with: 23 | token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} 24 | update-script: | 25 | source_url="$(curl -sL https://developer.android.com/studio/index.html | grep -Eo '"((https)?://.*linux.tar.gz)"' | tr -d '"')" 26 | codename="$(curl -sL https://developer.android.com/studio/index.html | grep -Po 'Download Android Studio (?!today)[A-Za-z0-9]+' | head -n1 | cut -d ' ' -f4)" 27 | version="$(basename "$source_url" .tar.gz | grep -oP '\d+\.\d+\.\d+\.\d+')-$codename" 28 | sed -i "s|source: .*$|source: $source_url|g" snap/snapcraft.yaml 29 | sed -i 's/^\(version: \).*$/\1'"\"$version\""'/' snap/snapcraft.yaml 30 | -------------------------------------------------------------------------------- /.github/workflows/release-to-candidate.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | # Run the workflow each time new commits are pushed to the candidate branch. 5 | push: 6 | branches: [ "candidate" ] 7 | workflow_dispatch: 8 | 9 | concurrency: 10 | group: ${{ github.workflow }}-${{ github.ref }} 11 | cancel-in-progress: true 12 | 13 | permissions: 14 | contents: read 15 | issues: write 16 | 17 | jobs: 18 | get-architectures: 19 | name: 🖥 Get snap architectures 20 | runs-on: ubuntu-latest 21 | outputs: 22 | architectures: ${{ steps.get-architectures.outputs.architectures }} 23 | architectures-list: ${{ steps.get-architectures.outputs.architectures-list }} 24 | steps: 25 | - name: 🖥 Get snap architectures 26 | id: get-architectures 27 | uses: snapcrafters/ci/get-architectures@main 28 | 29 | release: 30 | name: 🚢 Release to latest/candidate 31 | needs: get-architectures 32 | runs-on: ubuntu-latest 33 | environment: "Candidate Branch" 34 | strategy: 35 | matrix: 36 | architecture: ${{ fromJSON(needs.get-architectures.outputs.architectures-list) }} 37 | steps: 38 | - name: 🚢 Release to latest/candidate 39 | uses: snapcrafters/ci/release-to-candidate@main 40 | with: 41 | architecture: ${{ matrix.architecture }} 42 | launchpad-token: ${{ secrets.LP_BUILD_SECRET }} 43 | repo-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} 44 | store-token: ${{ secrets.SNAP_STORE_CANDIDATE }} 45 | 46 | call-for-testing: 47 | name: 📣 Create call for testing 48 | needs: [release, get-architectures] 49 | environment: "Candidate Branch" 50 | runs-on: ubuntu-latest 51 | outputs: 52 | issue-number: ${{ steps.issue.outputs.issue-number }} 53 | steps: 54 | - name: 📣 Create call for testing 55 | id: issue 56 | uses: snapcrafters/ci/call-for-testing@main 57 | with: 58 | architectures: ${{ needs.get-architectures.outputs.architectures }} 59 | github-token: ${{ secrets.GITHUB_TOKEN }} 60 | 61 | screenshots: 62 | name: 📸 Gather screenshots 63 | needs: call-for-testing 64 | environment: "Candidate Branch" 65 | runs-on: ubuntu-latest 66 | steps: 67 | - name: 📸 Gather screenshots 68 | uses: snapcrafters/ci/get-screenshots@main 69 | with: 70 | issue-number: ${{ needs.call-for-testing.outputs.issue-number }} 71 | github-token: ${{ secrets.GITHUB_TOKEN }} 72 | screenshots-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} 73 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Android Studio 3 |
4 | Android Studio 5 |

6 | 7 |

8 | Snap Status 9 | 10 | 11 | 12 |

13 | 14 |

This is the snap for Android Studio, "The IDE of Android". It works on Ubuntu, Fedora, Debian, and other major Linux 15 | distributions.

16 | 17 | 22 | 23 | ## Install 24 | 25 | [![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/android-studio) 26 | 27 | sudo snap install android-studio --classic 28 | 29 | ([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) 30 | 31 | 34 | 35 |

Published for with :gift_heart: by Snapcrafters

36 | 37 | ## Remaining tasks 38 | 39 | Snapcrafters ([join us](https://forum.snapcraft.io/t/join-snapcrafters/1325)) 40 | are working to land snap install documentation and 41 | the [snapcraft.yaml](https://github.com/snapcrafters/android-studio/blob/master/snap/snapcraft.yaml) 42 | upstream so Android Studio can authoritatively publish future releases. 43 | 44 | - [x] Fork the [Snapcrafters template](https://github.com/snapcrafters/fork-and-rename-me) repository to your own GitHub account. 45 | - If you have already forked the Snapcrafter template to your account and want to create another snap, you'll need to use GitHub's [Import repository](https://github.com/new/import) feature because you can only fork a repository once. 46 | - [x] Rename the forked Snapcrafters template repository 47 | - [x] Update logos and references to `[Project]` and `[my-snap-name]` 48 | - [ ] Create a snap that runs in `devmode` 49 | - [x] Register the snap in the store, **using the preferred upstream name** 50 | - [ ] Add a screenshot to this `README.md` 51 | - [ ] Publish the `devmode` snap in the Snap store edge channel 52 | - [x] Add install instructions to this `README.md` 53 | - [ ] Update snap store metadata, icons and screenshots 54 | - [x] Convert the snap to `strict` confinement, or `classic` confinement if it qualifies 55 | - [ ] Publish the confined snap in the Snap store beta channel 56 | - [ ] Update the install instructions in this `README.md` 57 | - [ ] Post a call for testing on the [Snapcraft Forum](https://forum.snapcraft.io) - [link]() 58 | - [ ] Ask a [Snapcrafters admin](https://github.com/orgs/snapcrafters/people?query=%20role%3Aowner) to fork your repo into github.com/snapcrafters, transfer the snap name from you to snapcrafters, and configure the repo for automatic publishing into edge on commit 59 | - [ ] Add the provided Snapcraft build badge to this `README.md` 60 | - [ ] Publish the snap in the Snap store stable channel 61 | - [ ] Update the install instructions in this `README.md` 62 | - [ ] Post an announcement in the [Snapcraft Forum](https://forum.snapcraft.io) - [link]() 63 | - [ ] Submit a pull request or patch upstream that adds snap install documentation - [link]() 64 | - [ ] Submit a pull request or patch upstream that adds the `snapcraft.yaml` and any required assets/launchers - [link]() 65 | - [ ] Add upstream contact information to the `README.md` 66 | - If upstream accept the PR: 67 | - [ ] Request upstream create a Snap store account 68 | - [ ] Contact the Snap Advocacy team to request the snap be transferred to upstream 69 | - [ ] Ask the Snap Advocacy team to celebrate the snap - [link]() 70 | 71 | If you have any questions, [post in the Snapcraft forum](https://forum.snapcraft.io). 72 | 73 | 80 | --------------------------------------------------------------------------------