Unsupported class version number [52.0] (maximum 51.0, Java 1.7)

Xamarin Android Unsupported class version issues

When doing Xamarin Android development, you may have come across the error message after enabling MultiDex:

 

This is most likely because of an older ProGuard installation.

Download the latest ProGuard from here (v5.3.3 as of this writing).

Determine the current Android SDK location that Xamarin is using by checking Tools->Options->Xamarin->Android Settings.

In my case it is C:\Users\Magnus\AppData\Local\Android\android-sdk.

So here is how to to so update the Proguard installation;

In the tools sub folder, rename the current proguard to proguard.old.

Extract the contents of the latest ProGuard zip file to a folder named proguard.

That should do it. Just remember that any changes in the SDK installation (using the Android SDK Manager) will put back the older version, so repeat this after an SDK update.

How to use JRE/JDK v8 with Android Studio v2

I was struggling with a rendering exception in Android Studio v2
Failed to load the LayoutLib: com/android/layoutlib/bridge/Bridge : Unsupported major.minor version 52.0

Apparently this can be fixed by telling Android Studio to use JRE v8 (for the IDE, not compiling).
One could edit the plist to tell Android Studio to use a different JRE than the default v6, but that’s not recommended by Google.

So here’s a workaround; create a shortcut/alias that exports a value to use JRE v8.

Save this to a .command file, for example LaunchAndroidStudio.command:
export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk
open /Applications/Android\ Studio.app/

Change the icon for the alias.
Open the contents of /Applications/Android Studio.app
Navigate to /Contents/Resources and double click the AndroidStudio.icns, it will open in Preview
Copy the icon (Command+C)
Open the LaunchAndroidStudio.command by the “Get Info” command.
Click the default icon in the top left corner and past the icon (Command+V)

How to post to a Microsoft Azure Service Bus using Intel Galileo

In my previous post, I walked you through on how to Install Python Azure SDK on Intel Galileo.

Let’s now put that Python SDK into some work and post something to an Azure Service Bus Queue.

It’s really rather straight forward:

The only thing is to Base64 encode your string to be compatible with the other Azure SDK’s, in case you want compatibility with WIndows/Android/iOS etc.

But before we run this, you would need to set the on board clock on the Intel Galilelo, otherwise you will get this error:

So, they easiest way is to synchronise the clock against a time server:

You will need to do this every time after you have shut down the board, since the clock is not battery backed up. So it might be a good idea to put this in a script and have it run at startup.

There you have it.