It’s finally public. As described in the previous Status Update, a new maintanence release is out. Among the most important enhancements
•Android 64-bit support (arm64-v8a & x86_64)
BlueStacks was founded in 2011 and its main objective was the emulation of Android games directly on the PC. Today it is considered one of the best Android emulators for computers. With BlueStacks you can have all the applications and games from Google Play. In 2020 I still feel one of the best android applications for pc. Here are some of the best Android emulators for Mac. Bluestacks is one of the most popular Android emulators for Windows and is probably the best Android emulator for macOS, as well. This emulator is built primarily for mobile gamers and claims to provide a “PC-like” gaming experience for your mobile apps. BTT is $6.50 with a 45-day free trial. For this price and the lengthy trial period, it's one of my most recommended app. There are lots more feature which I haven't the time to get into. I'm new to MacOS (life-long Windows user) so been really fun finding ways to streamline my workflows. To run the emulator in Android Studio, make sure you're using Android Studio 4.1 or higher with version 30.0.10 or higher of the Android Emulator, then follow these steps: Click File Settings Tools Emulator (or Android Studio Preferences Tools Emulator on macOS ), then select Launch in a tool window and click OK. LDPlayer is an Android emulator for gamers, running Android Nougat 7.1. It features the usual array of gamer-oriented features, including good keyboard mapping controls, multi-instance, macros, high FPS, and graphical support. This is one of the few emulators on the list that gets active updates nearly every month.
•macOS 10.15 Catalina, iOS 13 & Xcode 11 support
•Native Xcode Archive support for submitting apps to the App Store or for macOS Notarization
There are also a lot of smaller fixes and changes under the hood to support these things. However, an aggressive attempt was made to NOT change too many things because for those wanting to add 64-bit Android builds, the better thing is to simply recompile and not worry about other things breaking. So the next release will look at updating more things. In addition, because this release was already long overdue, Raspberry Pi and Swift compilers are untouched this released and planned for the next.
So without further adieu, hit Purge, then Generate, and then build your project. Hopefully all will just work, just as before.
Android 64-bit
It should be easy to use, and is pretty much just a recompile and ship new version on your part. It contains 64-bit binaries for both arm64-v8a and x86_64. The latter is useful for Android Emulator testing, though as always, it is best testing on a real device. 32-bit armeabi-v7a and x86 are still included. (Contrary to my expectations, I learned the hard way that brand new 32-bit Android devices are still sold in major stores.)
However there are a few subtle changes you should be aware of.
•Google reorganized the Android NDK quite a bit, so the build process for all of the libraries shipped in Blurrr had to undergo a build system overhaul. 64-bit itself has a higher minimum SDK requirement of API 21 (Android 5.0), but there was a serious bug in 5.0 which was fixed in 5.1. So Blurrr’s new miniumum Android version is now API 22 (Android 5.1).
•The OpenAL implemention for Android needed to be replaced. Since the very early days of Android, I’ve been using a special fork of OpenAL Soft specially intended to deal with Android and the lack of floating point in the early days. Unfortunately, this implementation is not 64-bit clean and is effectively end-of-life. Fortunately, modern Android devices have hardware floating point, so we can move to the official OpenAL Soft implementation which now supports Android. But because this is a different OpenAL backend, you may want to do extra testing with your audio code to make sure things still work the way you expect.
Android 64-bit support: After clicking the Run button
All 4 primary architectures are present:
Google Pixel is arm64-v8a
Nexus 7 is armeabi-v7a
Nexus 5X Emulator is x86
Pixel 2 Emulator is x86_64
macOS 10.15 Catalina & iOS 13
macOS App Notarization is the big change which will be discussed in the next section. But due to new OS bugs and Apple restricting once acceptable APIs in the name of security & privacy, SDL has been updated for macOS & iOS to fix these problems. The other platforms have kept the existing version of SDL to minimize changes as described in the introduction.
macOS App Notarization & native Xcode Archive Feature (macOS & iOS)
One ugly area of the CMake Xcode generator is the Archive feature which is used to submit apps (both iOS & Mac) to the App Store. Additionally macOS 10.15 Gatekeeper now requires apps to be Notarized if downloaded from the Internet.
Blurrr SDK has now managed to wrangle the CMake generation to make the Archive feature work. So now you can submit apps the way Apple has intended.
Remember that to submit to the App Store or to distribute for GateKeeper compliance (Developer ID and notarization), you must have an Apple Developer membership ($99/year). Make sure you have connected Xcode with your account so all your certificates are on your machine.
As an example of the native Archive feature, the following screenshots show step-by-step how easy it is to Notarize your app. Starting with BlurrrGenProj, make sure you enable code signing with your Developer ID Application certificate.
Enable Code Signing and select Developer ID Application
Generate and open the project in Xcode. Change the selected target to your app (e.g. MyBlurrrProject or FlappyBlurrrLua).
Make sure to change the selected target to the App.
(CMake sets the default to ALL_BUILD which is not what we want.)
Then in the Xcode menu under Product, select Archive.
When successful, your Archive will appear in the Xcode Organizer. You can then use the Distribute App button on the right side. Follow the wizard. When successful, you will see the “Export Notarized App” become enabled in the bottom right corner.
2. Pick Developer ID for Notarization
(or Pick App Store Connect to submit your app to the App Store)
8. Notarization complete. Export Notarized App is clickable in bottom right corner.
Of course, you may also notarize the hard way using Apple’s command line tools.
IupCocoa, IupCocoaTouch, IupAndroid & IupEmscripten accepted into official IUP SVN
As mentioned last time, our work for “IupNext” has been officially accepted into mainline of the official IUP project. I’ve updated the distribution to use our merged repo. Also, our proposal for IupPostMessage (useful for sending message from background threads to the main UI thread) is now accepted. The BlurrrNetworkDiscovery example and documentation (which was one heavy user of this API) has been updated to reflect the final accepted API.
BlurrrGenProj .blurrrproj file format
BlurrrGenProj now has its very own file format, with extension .blurrrproj.
This can sometimes be a small convenience helper, especially if you like to double-click files to open things in your platform’s file browser. (And on Mac, you can do all the extra things too, such as drag the file onto the Dock icon, etc.)
macOS will automatically associate this extension for you.
On Windows and Linux, use the menu option ‘Set file association for .blurrrproj’.
Smaller Distribution Size
This version of Blurrr SDK is now 60% smaller. The main reason is the use of hardlinks now in the SDK which cuts almost 2/3 of the size. Blurrr also no longer uses .zip as the primary archiver fomat, since zip is not hardlink aware, and others offer higher compression formats.
For Apple, we now ship a notarized DMG. There actually was kind of a bug in prior releases with the .zip distribution. I forgot about GateKeeper Path Randomization, which would break things if you didn’t move the folder out of your Downloads directory after unzipping. So the correct fix for this is to ship a code signed DMG. The DMG is using the ULFO format which is Apple’s newest format and has the greatest compression. However, I found zipping the dmg after the fact still shaved off another 20%, so the .dmg is zipped after the fact.
Simply download and open the .zip with Finder. The .dmg will extract to the file system. Open the .dmg. Drag the BlurrrSDKApple directory to /Applications (or any wrtiable directory of your choosing).
For Windows and Linux,a tar.xz file is provided instead of a zip file. The tar allows for the preservation of hardlinks which keeps both the download smaller and actually uses less space on disk (sometimes more than what your tools may report). And xz provides better compression than many other formats, while mainstream enough that the Linux kernel source uses .tar.xz now for downloads.
Most Linux distros now have built-in support for xz in the tar utility:
tar xvf BlurrrSDKLinux.tar.xz
Mac Os Android Simulator
For Windows, unfortunately, there is still no built-in .tar support, let alone .xz. But the free and open source 7-Zip has great Windows support and handles .tar.xz (and many other formats) with ease. Grab it at https://www.7-zip.org/download.html. (Remember that it is two-step with this tool…first the xz and then the tar.)
Macos Android Emulator Path
Try it today!