Android Studio [edge] Snap is not updated to latest 3.2 Canary 13

How often are newer versions of the software added to the store?

I see that Android Studio 3.1.2 is available on all channels, but shouldn’t Android 3.2 Canary 13 (as of now) be available on the edge channel?

Snap Store Link

Google Link

cc @om26er Looking at Store category on this forum, it looks like you are a maintainer of the android-studio snap

That’s certainly something we could consider. We could have some intelligence in the snapcraft.yaml which looks for a new canary release and pushes that to the edge channel, but also pushes stable releases when they come out. We do similar things for some other snaps, to ensure we get both stable and unstable builds in edge, and can cherry pick which ones go to candidate/beta/stable.

The way Android Studio is distributed is like this:

  • They have different channels of download stable and canary on their website
  • Canary never converges to stable, it is always the development branch releases

So if we decide to continuously update the canary builds in our edge channel then we will have to push stable releases manually to beta/candidate channel somehow and after basic verification move that to stable.

Is there something I might be missing here, please let me know.

Here is a full understanding of Android Studio channels and releases.

https://android.jlelse.eu/what-is-the-difference-between-canary-beta-rc-and-stable-releases-in-the-android-studio-bbbb77e7c3cf

There is almost a perfect 1:1 mapping between Android Studio releases and the Snap Store Channels.

  • Stable >> stable
  • RC >> candidate
  • Beta >> beta
  • Canary >> edge

Since Snaps provide similar channels as Android Studio releases, then it makes sense to mirror the releases as close as possible. When I go to Edge, I would expect that I am getting the latest release during this past week. That is currently not the case right now.

That link is probably outdated, while we can switch to different channels from within Android Studio (in non-snap systems) the archives that the upstream makes available to download are only preview and stable.

If you go to this url http://tools.android.com/download/studio/beta it now points to preview and stable urls.

edit
the two currently working urls are


Interesting. The Android Studio Settings UI, which allows you to change which channel you want to update from, still shows all four channels (Stable, Beta, Dev, and Canary).

As of right now, I checked which updates I get from each one, and there are only 2 updates. My current build (Stable and Beta) and a newer update (Dev and Canary).

Preview covers RC / Dev, Beta and Canary. That can be seen in a recent blog post to the preview url…

Preview Android Studio

Canary

Canary Releases seem to be jointly release on Canary and Dev…

Beta

Bata Releases (and RC unless name is deprecated) seem to be jointly released on Canary, Dev, and Beta…

Stable Android Studio

Stable

Stable Releases seem to be released solely on the Stable channel…

Notes

It does appear that Canary and Dev are the same channel as of 2018. Don’t know when that changed, or if it is has actually changed. But that is what it looks like right now.

@om26er Here is an archive link of all Android Studio releases. Updated by Google. Includes most recent versions…

Suggestion

Based on the naming scheme in the archive, I would suggest the following (final) if it is possible.

  • Snap Stable >> Stable (Android Studio 3.1.2. Always most recent stable)
  • Snap Candidate >> RC (Android Studio 3.1 RC 3. Becomes Stable until new RC update)
  • Snap Beta >> Beta (Android Studio 3.1 Beta 4. Becomes RC until new Beta update )
  • Snap Edge >> Canary (Android Studio 3.2 Canary 13. Becomes Beta and then RC until new Canary or Beta update)

What some other snap developers do, that you could consider. Skype have created a separate track for their ‘insider’ builds. So users can switch between the main stable builds and the insider track. Whereas another developer has created an entirely separate snap for their “unstable” builds. So we could really do either, have a snap install android-studio --channel=insider/stable --classic or snap install android-studio-canary --classic. Either works.

How can we install a stable Android Studio, and canary Android Studio (while having them both open at the same time)?

If we decided this was valuable then we could have android-studio and android-studio-canary in the store. However, we’d need to be sure the two don’t share data, as installing one may corrupt the application data for the other.

Run alongside stable
You can install multiple versions of Android Studio side-by-side, so if a bug in the preview build blocks you, you can keep working on the same project from the stable version.

Install Both…

You can check it out (look for picture with the yellow and green Android Studio icons) at this link…https://developer.android.com/studio/preview/

By the way, I would suggest a different name. So there would be android-studio and android-studio-preview if we go the two snap route. There would be some other differences that would match more correctly with what Google does with Android Studio.

Edit
Basically, android-studio-preview would contain all of Android Studio Canary, Beta, and RC releases (Google gives these the yellow icon). android-studio would contain only Android Studio Stable releases (green icon).

This would align the releases nearly exactly as Google does with Android Studio. This can work similar whether there are 2 snaps or 2 tracks with 1 snap.

Also, If we have one snap with multiple tracks, then we cannot run both at the same time? This is only possible with 2 snaps, right?

I think creating a separate snap makes sense because google itself makes the two version function side by side without interfering with each other.

I need to do some testing to ensure that will work and then will create the required packaging.

EDIT
The name android-studio-preview (or-canary) which offers a release on the stable channel might be confusing.

Where are you planning on putting Android Studio Beta and RC releases? Do you think the suggestion edit I made above is good? Or do you see it some other way?

I believe there is no single reliable page to download either the RC or Beta of Android Studio, so we might want to focus on preview and stable for now.

The link you provided is an archive of releases and would probably need some kind of manual looking to check if there is a new beta/RC available.

I can try to get in contact with some Googlers on Google+ pages to see if there can be away to automatically provide a way to download RC and Beta releases.

By the way, how is that actually done with stable and canary? Just parse the html for those download buttons, and those are the files for the stable and canary releases?

What do you suggest for the naming? Or are you just saying no stable release for the preview? That would also mean that it is not searchable on the store, right?

Edit
Actual I found a possible solution from the preview page. In the button html there is the following code data-modal-dialog-id="canary_linux_bundle_download" which will show a dialog box to download Canary. However, if you change it to data-modal-dialog-id="beta_linux_bundle_download", then you can download the most recent RC version. I would bet that when the next Beta is available, then it will let you download the most recent Beta version. Have to wait and see

For what it’s worth we do have parallel installs on the roadmap, so if you had it as separate tracks you could still have them both installed.

Not today, but someday soon.

3 Likes

Very interesting. What might a general availability of parallel installs happen? 6 months? A year? more?

Would that allow the two different types of icons? Green for stable, Yellow for Preview?

@om26er I think in the future, that would be a better way to bundle the snaps. What do you think? As long as there are no undesired consequences. In that case, I would be for the separate track, parallel install, method; even if we have to wait for it to happen. Personally, I have no hard requirements to install both and run them at the same time as of right now, so waiting it OK.

Any updates on seeing canary releases for this snap?
Not having some major new features (like Navigation editor) to test out is quite off putting.

1 Like

@om26er I had been in contact with some Googlers (Jamal Eason) on the Android Studio Team, and he asked me why the Archive page would not work for you. I couldn’t really come up with a good explanation and nobody has replied back to me.

Anyways, I decided to take things into my own hands and I had created a python program that would web scrap the Archive link. It would store each release in a database and if there were new entries, then a specific code path would be taken (could notify you of updates or whatever you wanted). I am a noob when it comes to Python, so others could do way better than me.

So you could automate the collection of the releases in the Archive and then provide support for all channels with no extra manual checking. However, I don’t know what you actually do to get the releases currently!? Every day you have a script that looks at the link for the download buttons and sees if they are different? You manually do it? Or what?

1 Like