This project provides fully automated RPM packaging for the latest stable version of Android Studio, specifically designed for Open Build Service (OBS) and compatible Linux distributions (openSUSE, Fedora, etc.).
- π€ Fully Automated: Daily checks for new Android Studio versions
- β‘ Rapid Updates: Automatically builds new releases within hours of publication
- π§ OBS Integration: Seamless integration with Open Build Service
- π Multiple Fallbacks: Robust version detection using multiple sources
- π¦ Clean Packaging: Properly installs to
/opt/android-studiowith desktop integration - π οΈ Manual Control: Includes manual trigger options and local update scripts
graph TB
A[GitHub Actions<br>Daily Schedule] --> B[Scrape Android Studio<br>Releases Page]
B --> C{New Version<br>Available?}
C -->|Yes| D[Update .spec file<br>Version]
D --> E[Commit & Push<br>to Repository]
E --> F[OBS Monitors<br>Repository Changes]
F --> G[OBS Downloads<br>Source Tarball]
G --> H[OBS Builds<br>RPM Package]
H --> I[Package Available<br>in OBS Repositories]
C -->|No| J[Workflow Complete]
.
βββ π android-studio.spec # RPM specification file
βββ π§ .github/workflows/
β βββ updater.yml # Automated version checker
βββ βοΈ _service # OBS service configuration
βββ π οΈ update.sh # Manual update script
βββ π README.md # This file
Install Android Studio from the OBS repository:
# Add the repository
sudo zypper addrepo https://download.opensuse.org/repositories/home:/itachi_re/openSUSE_Tumbleweed/home:itachi_re.repo
sudo zypper refresh
sudo zypper install android-studio- Fork this repository and set up the OBS package:
# In your OBS project
osc meta pkg -e your_project android-studio
# Add the _service file configuration-
Configure GitHub Secrets (if needed):
- Set up repository permissions for automated commits
- Configure any required API tokens
-
The automation will handle the rest!
# Run the manual update script
./update.sh
# Or trigger GitHub Actions manually
# 1. Go to Actions tab in your repository
# 2. Select "Check for Android Studio Updates"
# 3. Click "Run workflow"# Clone the repository
git clone https://github.com/itachi-re/android-studio-obs/
cd android-studio-obs
# Test the update script
chmod +x update.sh
./update.sh
# Build locally (if you have rpmbuild)
rpmbuild -ba android-studio.specThe workflow runs daily at 06:00 UTC. To modify the schedule, edit .github/workflows/updater.yml:
schedule:
- cron: '0 6 * * *' # Daily at 06:00 UTCThe _service file controls how OBS interacts with this repository:
<service name="obs_scm">
<param name="url">https://github.com/itachi-re/android-studio-obs/</param>
<param name="filename">android-studio.spec</param>
<param name="revision">main</param>
</service>The system employs multiple fallback methods for robust version detection:
- Primary: Official Android Studio releases page scraping
- Secondary: AUR PKGBUILD parsing (manual script)
- Tertiary: Direct download URL probing
- Installation Path:
/opt/android-studio/ - Desktop Entry:
android-studio.desktop - Binary Symlink:
/usr/local/bin/android-studio - Icons: Properly installed in icon themes
We welcome contributions! Please feel free to:
- Report issues and bugs
- Suggest new features
- Submit pull requests
- Improve documentation
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Android Team for Android Studio
- Open Build Service team for the excellent packaging infrastructure
- Arch Linux AUR maintainers for version reference
- GitHub for hosting and Actions automation
| Component | Status | Details |
|---|---|---|
| Automated Updates | β Active | Daily checks via GitHub Actions |
| OBS Integration | β Active | Automatic build triggers |
| Multi-distro Support | β Working | openSUSE, Fedora, etc. |
| Version Detection | β Robust | Multiple fallback methods |
Maintained with β€οΈ for the Linux development community
Automation makes life better! π€