Thanks, published the new build to candidate, this is what we should release.
One thing I noticed is that a single commit to git actually results in two new revisions of the same snap in dashboard.snapcraft.io, in this case revision 29 and 30 were published. I was on revision 28 previously, first I released rev29 to candidate and did a snap refresh android-studio which completed quickly (delta update worked), then I released rev30 to candidate channel and again did a refresh but this time its re-downloading the complete snap.
That’s some odd bug in the infrastructure that I don’t really understand.
By default build will build an amd64, i386 and armhf snap. The armhf builders are down for maintenance, so you’re getting an amd64 and i386 build. One revision will be the 64-bit build, the other will be the i386 build. We currently don’t have a way to force build.snapcraft.io to only build one arch, but I believe that’s on the roadmap.
I suspect we may need the architectures: [amd64] stanza ? Or some other way to make it not build a mixed snap. Not quite sure how we do that with build.snapcraft.io - perhaps @cjwatson know the magic?
I’ve never seen a snap which has the same revision in both architectures before.
The architectures stuff is planned but not yet implemented in Launchpad, and in any case it will probably only serve to limit the set of builds that are dispatched. Launchpad isn’t going to be doing anything to explicitly build a multi-architecture snap - it must be something in your package’s build system.
(I don’t believe that revision 27 was built on Launchpad; it seems to have been built manually.)
So I just tried Ubuntu 16.04 i386 in a VM and I get the exact same error from non-snap install as well. So It seems Google only cares about 64bit users so only ships 64bit JRE with source.
Shall we only support Android Studio on 64bit machines for now ?
The updated snap only builds for 64bit installs, so the above issue won’t happen.
I have installed android studio from snap on different distro over the past few month and so far so good. Lets move this to stable now (revision 34 that is).
I have version 3.1.0.16 (35) on Ubuntu 17.10, amd64 but I can’t launch any AVD. Whichever device configuration I choose, any attempt to start the emulator just gives:
11:03 AM Executing tasks: [:app:assembleDebug]
11:03 AM Emulator: libGL error: unable to load driver: i965_dri.so
11:03 AM Emulator: libGL error: driver pointer missing
11:03 AM Emulator: libGL error: failed to load driver: i965
11:03 AM Emulator: libGL error: unable to load driver: swrast_dri.so
11:03 AM Emulator: libGL error: failed to load driver: swrast
11:03 AM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
11:03 AM Emulator: Major opcode of failed request: 152 (GLX)
11:03 AM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
11:03 AM Emulator: Value in failed request: 0x0
11:03 AM Emulator: Serial number of failed request: 56
11:03 AM Emulator: Current serial number in output stream: 57
11:03 AM Emulator: Process finished with exit code 1
No, not really. Its a known issue with Android Studio and linux, please try to export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 in your environment and that should fix it.
Try in a terminal
ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 android-studio
If that fixes it, you need to add that variable to a more permanent place.
Today I installed this on my fresh 18.04 install and I got from zero to having an app in the review queue on Google Play in under 5 hours. Everything just worked. The only problem was the emulator crash described above, but I could just test on real hardware. Excellent stuff. I’m also enjoying the intellij and pycharm snaps.