Release Notes, 6.12.1

This release is a framework update release related to the changes in the Android ecosystem.

🚧Minimum required versions for SF-core 4.0.6.

Android: v6.12.1 iOS: v6.12.1 UI Editor: v6.15.1 Context: v2.2.7 CLI: 6.12.1

Full 64-bit architecture support for Android

Google’s announcement last year that the Google Play store will require new apps and app updates to provide 64-bit versions pushed the entire Android ecosystem towards 64-bit app development and Smartface framework is also complying with this requirement accordingly.

All Android apps developed with Smartface framework now supports both 32-bit and 64-bit architectures natively.

Starting August 1, 2019:

All new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play.

Starting August 1, 2021:

Google Play will stop serving apps without 64-bit versions on 64-bit capable devices, meaning they will no longer be available in the Play Store on those devices.

📘Google Play 32-bit Policy

Google Play is not making any changes to its policy on 32-bit device support since there are a number of Android devices with 32-bit processors. Google Play will continue to deliver compatible apps to 32-bit devices. This requirement means that you need to supply both 32-bit and 64-bit binaries for maximum compatibility.

🚧Android framework size impact

With this version, multiple device architectures (armeabi and arm64-v8a architectures) are supported in the framework. Thus, the size of published apks will be increased by 7-10 MB. Further optimizations are in progress.

Util Updates for Android Secure Traffic

Starting with Android 6.0, unsecured requests can be blocked, forcing all requests to be secured HTTPS URLs instead of HTTP URLs.

  • On AndroidManifest.xml file, the following configuration must be added. Based on the safe connection requirement, sf-extension-utils v7.2.0 must be used on Android 6.0 and later.

XML

<application
...
android:usesCleartextTraffic="true"
...>
...
</application>

Using the Android Studio x86 Emulator

With this version, Smartface apps can be run on Android Studio Emulator. To run apps on the Android emulator:

  • Open config/Android/PackageProfiles.xml file and modify the line below

XML

<android armeabi="1" x86="1" arm64-v8a="1">

instead of XML

<android armeabi="1" x86="0" arm64-v8a="1">
  • Open Android Studio.

  • Create a virtual device and configure the device hardware accordingly with the x86 architecture.

  • Drag and drop smartface.apk on emulator. Now the emulator is ready to use.

Reduce Application Size on Android

As indicated above, support for various architectures has a slight impact on the application size. The binaries can be exported separately per architecture to reduce the application size. For this purpose, config/Android/PackageProfiles.xml file must be modified as follows: 32-bit apk:

XML

<android armeabi="1" x86="0" arm64-v8a="0">

64-bit apk:

XML

<android armeabi="0" x86="0" arm64-v8a="1">

Multi-architecture apk:

XML

<android armeabi="1" x86="0" arm64-v8a="1">

📘Emulator-compatible apk size

Each architecture increases the apk size, thus if x86 architecture option is left as "1", the size of published apks will be increased by 7-10 MB.

What's New?

  • [Framework] Smartface emulators are not available on Google Play Store & Apple App Store anymore. The latest versions of the emulators will be served on the Smartface App Store with the supplied username and password.

  • [Framework] From now on Smatface target SDK must be 28.

  • [Framework] V8 JavaScript engine is updated to v6.0.174.

  • [DOC] The Performance and Size Optimization guide has been enhanced with additional recommendations on the app size.

  • [Cloud Services] All unsecured URLs will be forced to redirect to its secure URL on Smartface Enterprise App Store. This means http://app.smartface.io URL will be redirected to https://app.smartface.io.