├── .gitignore ├── .gitmodules ├── README.md ├── com.google.AndroidStudio.desktop ├── com.google.AndroidStudio.json ├── com.google.AndroidStudio.metainfo.xml ├── com.google.AndroidStudio.svg ├── flathub.json └── screenshots ├── apk-bundle-analyzer.png ├── emulator-foldable-device-poster.png ├── flexible-build-system.png ├── gemini-intro-poster.png ├── lint-inspection-results.png ├── project-android-view.png ├── studio-compose-editor-poster.png └── studio-hero.png /.gitignore: -------------------------------------------------------------------------------- 1 | .flatpak-builder 2 | .idea 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "shared-modules"] 2 | path = shared-modules 3 | url = https://github.com/flathub/shared-modules.git 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Android Studio Flatpak Wrapper 2 | 3 | This is a community-made Flatpak wrapper of Android Studio. It's not verified by, affiliated with, or supported by Google. 4 | 5 | This wrapper uses X11 via XWayland, due to missing support in OpenJDK. Filesystem visibility is voluntarily limited to home, and `flatpak-spawn` is not permitted because it would reduce security. 6 | 7 | Any suggestions, problem reports, or improvement proposals are welcome. 8 | 9 | ## Android `udev` Rules 10 | 11 | Many systems need `udev` rules to handle USB devices, we suggest these: [`android-udev-rules`](https://github.com/M0Rf30/android-udev-rules). 12 | 13 | ## ADB SystemD Service 14 | 15 | If you want to start ADB Server Daemon on user login (and not on Android Studio boot), this is a SystemD service example. 16 | 17 | To disable management by Android Studio go, to: 18 | 19 | 1. "Settings", 20 | 2. "Build, Execution, Deployment", 21 | 3. "Debugger", and 22 | 4. "ADB server lifecycle management". 23 | 24 | Then, select "Use existing manually managed server". 25 | 26 | ```desktop 27 | [Unit] 28 | Description=Android Debug Server Daemon 29 | 30 | [Service] 31 | Type=forking 32 | ExecStart=%h/android/sdk/platform-tools/adb start-server 33 | ExecStop=%h/android/sdk/platform-tools/adb kill-server 34 | 35 | [Install] 36 | WantedBy=default.target 37 | ``` 38 | 39 | ## AVD Emulator on copy-on-write filesystems 40 | 41 | It's recommended to disable the copy-on-write behavior of the AVD Manager storage folder in order to run Android Virtual Devices without performance penalties. Most filesystems with this behavior (eg. BTRFS, ZFS, Bcachefs, etc.) support changing this configuration on a per-folder basis: 42 | 43 | ``` 44 | chattr +C ~/.var/app/com.google.AndroidStudio/config/.android/avd 45 | ``` 46 | > [!IMPORTANT] 47 | > This should only be done once, before creating any virtual devices. AVDs created prior won't be affected. 48 | 49 | ## LLVM 50 | 51 | If you need LLVM for flutter app or something else you can install [`SDK Extension for LLVM Project 20`](https://github.com/flathub/org.freedesktop.Sdk.Extension.llvm20) and link to Android Studio, 52 | required `build-options` are already present. You can use this commands: 53 | 54 | ```shell 55 | flatpak install flathub org.freedesktop.Sdk.Extension.llvm20 56 | flatpak override --user com.google.AndroidStudio --env=FLATPAK_ENABLE_SDK_EXT="llvm20" 57 | ``` -------------------------------------------------------------------------------- /com.google.AndroidStudio.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Android Studio 3 | Exec=android-studio-wrapper 4 | Icon=com.google.AndroidStudio 5 | Comment=IDE for Android app development 6 | Terminal=false 7 | Type=Application 8 | Categories=Development;IDE;Java; 9 | StartupWMClass=jetbrains-studio 10 | -------------------------------------------------------------------------------- /com.google.AndroidStudio.json: -------------------------------------------------------------------------------- 1 | { 2 | "app-id": "com.google.AndroidStudio", 3 | "runtime": "org.freedesktop.Sdk", 4 | "runtime-version": "24.08", 5 | "sdk": "org.freedesktop.Sdk", 6 | "command": "android-studio-wrapper", 7 | "finish-args": [ 8 | "--socket=x11", 9 | "--socket=pulseaudio", 10 | "--socket=ssh-auth", 11 | "--share=ipc", 12 | "--share=network", 13 | "--device=all", 14 | "--filesystem=home", 15 | "--allow=multiarch", 16 | "--env=JAVA_HOME=/app/extra/android-studio/jbr", 17 | "--talk-name=org.freedesktop.Notifications", 18 | "--talk-name=org.freedesktop.secrets", 19 | "--env=PATH=/app/bin:/usr/bin:/usr/lib/sdk/llvm20/bin", 20 | "--env=LD_LIBRARY_PATH=/usr/lib/sdk/llvm20/lib" 21 | ], 22 | "modules": [ 23 | { 24 | "name": "android-studio", 25 | "buildsystem": "simple", 26 | "build-commands": [ 27 | "install -D -t ${FLATPAK_DEST}/bin/ apply_extra android-studio-wrapper", 28 | "install -Dm644 -t ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/ ${FLATPAK_ID}.svg", 29 | "install -Dm644 -t ${FLATPAK_DEST}/share/metainfo/ ${FLATPAK_ID}.metainfo.xml", 30 | "install -Dm644 -t ${FLATPAK_DEST}/share/applications/ ${FLATPAK_ID}.desktop" 31 | ], 32 | "sources": [ 33 | { 34 | "type": "file", 35 | "path": "com.google.AndroidStudio.desktop" 36 | }, 37 | { 38 | "type": "file", 39 | "path": "com.google.AndroidStudio.metainfo.xml" 40 | }, 41 | { 42 | "type": "file", 43 | "path": "com.google.AndroidStudio.svg" 44 | }, 45 | { 46 | "type": "extra-data", 47 | "filename": "android-studio.tar.gz", 48 | "size": 1361375740, 49 | "only-arches": [ 50 | "x86_64" 51 | ], 52 | "url": "https://dl.google.com/dl/android/studio/ide-zips/2024.3.2.15/android-studio-2024.3.2.15-linux.tar.gz", 53 | "sha256": "2fcb3c975fd0e002441af7734cb2eef6c459964372443310bcaf26a195ce7881" 54 | }, 55 | { 56 | "type": "script", 57 | "dest-filename": "apply_extra", 58 | "commands": [ 59 | "tar xzf android-studio.tar.gz", 60 | "rm -f android-studio.tar.gz" 61 | ] 62 | }, 63 | { 64 | "type": "script", 65 | "dest-filename": "android-studio-wrapper", 66 | "commands": [ 67 | "/app/extra/android-studio/bin/studio $@" 68 | ] 69 | } 70 | ] 71 | }, 72 | "shared-modules/libsecret/libsecret.json" 73 | ] 74 | } 75 | -------------------------------------------------------------------------------- /com.google.AndroidStudio.metainfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.google.AndroidStudio.desktop 4 | CC0-1.0 5 | LicenseRef-proprietary 6 | Android Studio 7 | com.google.AndroidStudio.desktop 8 | IDE for Android app development 9 | https://developer.android.com/studio/ 10 | https://developer.android.com/ 11 | https://issuetracker.google.com/components/192708 12 | https://android.googlesource.com/platform/tools/base/+/studio-master-dev/source.md 13 | 14 | Android Open Source Project 15 | 16 | 17 | moderate 18 | 19 | 20 | #d2e3fc 21 | #132137 22 | 23 | 24 | Development 25 | IDE 26 | 27 | 28 | android 29 | kotlin 30 | java 31 | compose 32 | apk 33 | development 34 | ide 35 | 36 | 37 | 8192 38 | keyboard 39 | pointing 40 | 768 41 | 42 | 43 | 16384 44 | 1024 45 | always 46 | 47 | 48 | offline-only 49 | 50 | 51 | 52 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/studio-hero.png 53 | Android Studio Showing the structure of a project 54 | 55 | 56 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/gemini-intro-poster.png 57 | Try Gemini in Android Studio 58 | 59 | 60 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/studio-compose-editor-poster.png 61 | Intelligent code editor 62 | 63 | 64 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/flexible-build-system.png 65 | Flexible build system 66 | 67 | 68 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/emulator-foldable-device-poster.png 69 | Easily emulate any device 70 | 71 | 72 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/apk-bundle-analyzer.png 73 | Android App Bundle 74 | 75 | 76 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/project-android-view.png 77 | Project files in Android project view 78 | 79 | 80 | https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/refs/heads/master/screenshots/lint-inspection-results.png 81 | The results of a lint inspection in Android Studio 82 | 83 | 84 | 85 |

Android Studio is the official Integrated Development Environment (IDE) for Android app development. Based on the powerful code editor and developer tools from IntelliJ IDEA, Android Studio offers even more features that enhance your productivity when building Android apps, such as:

86 | 97 |
98 | 99 | 100 | 101 | https://developer.android.com/studio/releases/fixed-bugs/studio/2024.3.2#android-studio-meerkat-feature-drop-|-2024.3.2-patch-1 102 | 103 |

Android Studio Meerkat Feature Drop | 2024.3.2 Patch 1

104 |

Released together with: Android Gradle Plugin 8.10.1

105 |
    106 |
  • FIXED: Explicitly enabling device tests in a non-default build type using AGP does not work
  • 107 |
  • FIXED: NullPointerException when compiling instant app after updating Kotlin to 2.1.20
  • 108 |
  • FIXED: [AGP]: ERROR: R8: java.lang.OutOfMemoryError: Required array length 2147483638 + 196 is too large
  • 109 |
110 |
111 |
112 | 113 | https://developer.android.com/studio/releases 114 | 115 |

Android Studio Meerkat Feature Drop | 2024.3.2

116 |

Released together with: Android Gradle Plugin 8.10.0

117 |
    118 |
  • Themed icon support
  • 119 |
  • Android Studio config directories changing
  • 120 |
  • Prompt Library
  • 121 |
122 |
123 |
124 | 125 | https://developer.android.com/studio/releases/fixed-bugs/studio/2024.3.1#android-studio-meerkat-|-2024.3.1-patch-2 126 | 127 |

Android Studio Meerkat | 2024.3.1 Patch 2

128 |

Released together with: Android Gradle Plugin 8.9.2

129 |
    130 |
  • FIXED: Resource Shrinking Issue in AGP 8.9 Causing Missing Resources in Dynamic Feature Modules
  • 131 |
  • FIXED: ClassCastException from a safe cast in class init
  • 132 |
  • FIXED: Cannot invoke com.android.tools.r8.internal.H5.x()
  • 133 |
134 |
135 |
136 | 137 | https://developer.android.com/studio/releases/fixed-bugs/studio/2024.3.1#android-studio-meerkat-|-2024.3.1-patch-1 138 | 139 |

Android Studio Meerkat | 2024.3.1 Patch 1

140 |

Released together with: Android Gradle Plugin 8.9.1

141 |
    142 |
  • FIXED: Backporting of android.os.Build.VERSION_CODES_FULL incorrect for Baklava
  • 143 |
  • FIXED: Unable to Generate Signed APK after updating to AGP 8.9.0
  • 144 |
  • FIXED: Analyze written-before-read property at allocation sites encounters error when generating classfile
  • 145 |
  • FIXED: Problem regarding Java SPI in R8 shrinker of versions 8.6.*, 8.7.*, 8.8.0
  • 146 |
147 |
148 |
149 | 150 | https://developer.android.com/studio/releases/past-releases/as-meerkat-release-notes 151 | 152 |

Android Studio Meerkat | 2024.3.1

153 |

Released together with: Android Gradle Plugin 8.9.0

154 |
    155 |
  • Compose Preview enhancements
  • 156 |
  • KMP Shared Module integration with Android applications
  • 157 |
  • Updated UX for adding virtual and remote devices to Device Manager
  • 158 |
  • New Gemini in Android Studio features
  • 159 |
  • Updated Build menu and actions
  • 160 |
  • Google Play SDK Insights: Deprecated SDK warnings
  • 161 |
162 |
163 |
164 |
165 |
166 | -------------------------------------------------------------------------------- /com.google.AndroidStudio.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | -------------------------------------------------------------------------------- /flathub.json: -------------------------------------------------------------------------------- 1 | { 2 | "only-arches": [ 3 | "x86_64" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /screenshots/apk-bundle-analyzer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/apk-bundle-analyzer.png -------------------------------------------------------------------------------- /screenshots/emulator-foldable-device-poster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/emulator-foldable-device-poster.png -------------------------------------------------------------------------------- /screenshots/flexible-build-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/flexible-build-system.png -------------------------------------------------------------------------------- /screenshots/gemini-intro-poster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/gemini-intro-poster.png -------------------------------------------------------------------------------- /screenshots/lint-inspection-results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/lint-inspection-results.png -------------------------------------------------------------------------------- /screenshots/project-android-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/project-android-view.png -------------------------------------------------------------------------------- /screenshots/studio-compose-editor-poster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/studio-compose-editor-poster.png -------------------------------------------------------------------------------- /screenshots/studio-hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flathub/com.google.AndroidStudio/18b4c860cf74d9a56e4531692c88c05340cf6da7/screenshots/studio-hero.png --------------------------------------------------------------------------------