Ask / Submit
9

Some Android Apps are incompatible with SailfishX, why?

asked 2017-10-27 09:52:44 +0300

ausgeregelt gravatar image

updated 2017-10-27 10:20:05 +0300

DaveRo gravatar image

Hi,

Some Android apps refuse to install and play store says they would be incompatible with my device. I just have not discovered why yet. For example one app runs smoothly on my Jolla 1, but appears to be incompatible with SailfishX. This is the Swiss Coop Supercard app. Another app is the Raiffeisen Twint app. It requires Android 4.4 and as far as I know SailfishX is compatible with Android 4.4. The Migrosbank app will install, but gets shut down before drawing anything useful on the screen.

What is the reason those apps will not install?

Greets, A.

edit retag flag offensive close delete

Comments

1

Can you use other Android apps that depend on Google Play services? So far all my apps are working fine on my Xperia, even that ones with some special play services dependencies (Strava).

Note that Alien Dalvik appears as a rooted Android to the apps, so especially banking apps may refuse to work.

ziellos ( 2017-10-27 10:11:29 +0300 )edit
1

I do not have problems with "most" of the Android apps. I have installed: Raiffeisen App, Migros App (which did not work on Jolla 1), Libero App, SBB Mobile App, Google Maps, Windguru App, Play Store, PostCard Creator, DS Photo and DVBLink and Google Chrome. This rooted appearance probably is the reason why the Migrosbank app shuts down. The dependency on android and similar devices for login was the reason why I changed bank. But take the coop app for example, after the information about incompatibility in Play Store i took the app right from my Jolla 1 and install it with the File Manager. The installation screen, where I am informed what permissions the app requires, appears (taking pictures, GPS, reading SD, reading Google-Serviceconfiguration, internet connection, deactivate sleep), after that screen the blue line "installing" appears and finishes with "App was not installed". Chrome appears to work (SBB relies on it, I do not use it on my own) and Maps appear to work, so there does not appear to be a Problem with Google Play services, does it? Is there a way I can test?

ausgeregelt ( 2017-10-27 10:50:48 +0300 )edit

May be it is necessary to re-install Alien Dalvik. I don't know much about that Android stuff, and I needed several attempts of Google play services install and upgrade cycles until everything worked. In my case, installing the apps always succeeded, some of them only didn't run due to unresolved play services dependencies.

Your problem however sounds like the Android version doesn't match. May be some missing or wrong libraries.

ziellos ( 2017-10-27 11:12:01 +0300 )edit
2

Also My Vodafone Italy has this problem. There is something that is advertised about the device that makes the app think it's incompatible, but I cannot find what it is.

Giacomo Di Giacomo ( 2017-10-27 12:34:30 +0300 )edit
2

@ziellos It's not the version. The same app that doesn't work on Sailfish X works on the Jolla C.

Giacomo Di Giacomo ( 2017-10-27 12:35:21 +0300 )edit

3 Answers

Sort by » oldest newest most voted
14

answered 2017-10-27 20:41:41 +0300

DrYak gravatar image

updated 2018-03-27 13:46:26 +0300

Reason for incompatibilites :

Version of Android

Alien-Dalvik only supports Android 4.4 Kit-Kat on Xperia X (4.2 Jelly Bean on Jolla 1). If your application relies on a more recent version (e.g.: Android 5.0 Lollipop) it will refuse to install on any Sailfish OS.

  • e.g.: Migros app doesn't work with the older 4.2 Jelly Bean inside the Jolla 1 phone.

Android Libraries / Frameworks / Services

Alien-Dalvik only comes with the same set of libraries as the open-source android (AOSP). Lots of applications can require services that are only provided by Google as extra proprietary blobs.

  • Google's PlayStore is an example with plenty of documentation on this site.
  • Coop's SuperCard requires the library com.google.android.maps

Hardware availibility

Some hardware elements either don't have the same AP, or are outright missing.

  • Bluetooth is one example of differing API
    • Sailfish OS relies on BlueZ 5 (or BlueZ 4 on Jolla 1) to access directly the bluetooth devices like any other full-blown GNU/Linux distribution
    • Android uses instead Bluedroid starting with version 4.2 JellyBean.
    • Alien-dalvik doesn't have a BlueZ to Bluedroid translation layer
    • Therefore any application that needs a direct control of Bluetooth devices (e.g.: like UE Boom, the app to configure Logitech UE wireless speaker cans) doesn't work
    • But any application relying on standard interfaces works (a media player can play audio on the same speaker can if it's paired with Sailfish. To the application, it's just "Audio Out", no bluetooth details involved).
      (Same with Bluetooth HID keyboard, they just seem like any input device to Android apps).
  • NFC is another problematic.
    • The low-level device driver is here, so you get a device showing up in /dev/.
    • But there's no software talking to it. Not even an Android daemon
    • therefore TWINT cannot work
      (in wireless mode - and thus shows as not supported in Play Store. You can still manually install the APK, and still use all the other functionality like sending money to your contacts, using it in some online shops, etc. Just the contactless payments at store counters are non functional)

Root access

Sailfish X does have a /usr/bin/su executable (because it's a phone where you, the user, have full access to everything) and thus is considered as a Rooted Android by several apps

  • e.g.: some e-Banking amd sp,e DRM-ed media players will either display a warning (e.g.: Raiffeisen's photoTAN) or always refuse to work, unless you rename it to something that it doesn't recognize.
edit flag offensive delete publish link more

Comments

1

Lets put it short: audio has always been the weekest point of sailfish .... hadnt been an audio device I would have understood it ... why for example, even with the native media player app the control buttons + microphone of a cynch headset has stopped working for 1,5yrs and havent been fixed ever since?

HeinrichJolla ( 2017-10-27 23:36:04 +0300 )edit

Where does the value 4.4 for Xperia come from ? I just ran getprop ro.build.version.sdk on the Xperia and I get the number 23, which seems to amount to Android 6.0 (same command on Jolla 1 gives 16, so Android 4.1).

But still, I just tried to install an apk requiring 5.0 and it does not wok. Maybe I am misinterpreting the API version number ?

OlivierJolla ( 2017-10-28 13:27:26 +0300 )edit
1

Kitkat 4.4 is the version of Android supported by Alien-Dalvik the "JVM-like" JIT virtual machine that Myriad has provided to Jolla to run the android applications (Dalvik is the native JIT vm that is inside Google'sAndroid). Same for all the Android libraries that come with alien-dalvik, they are all from 4.4. There's no way to upgrade to Lollipop 5.0, because the whole infrastructure has drastically changed : Now it's ART - Android RunTime - an AOT transpilation system, there are no virtual machine anymore.

The asnwer you got, Mashmallow 6.0, it he maximum API supported by the Linux kernel and drivers. This is due because Jolla currently uses the kernel from a 6.0.1 Sony SDK. That is going to change, as now Sony is providing Nougat 7.1.1 compatible kernel in their 34.3.A.0.xxx firmwares. And Sony is also working on providing a linux kernel 4.4 as part of their Oreo 8.0 efforts.

But for now, the layer that executes the application (Alien-Dalvik by Myriad) is limited to Kitkat 4.4 application despite the kernel Mashmallow 6.0 support, because these are the last generation of applications and libraries that expect to be run inside some Dalvik virtual machine.

DrYak ( 2017-10-29 10:37:17 +0300 )edit

Thanks @DrYak for the answer. It still does not answer why the Supercard-App does not work on the SailfishX but does work on the Jolla Phone.

ausgeregelt ( 2017-10-30 11:54:36 +0300 )edit
1

@ausgeregelt : Found the problem ! The library com.google.android.maps is required by ch.coop.supercard. You need to install that one first (I just plain copied the jar and xml from my Jolla 1).

DrYak ( 2017-12-11 19:24:36 +0300 )edit
0

answered 2017-10-28 10:28:56 +0300

Gafry gravatar image

updated 2017-10-28 10:41:47 +0300

Just a small correction about Netflix. I’m using Xperia X and have Netflix player installed and it allows me to play movies. Note sure if it’s more picky on what you play on it.

Update; not sure if it’s to do with rooted/version/platform but on my iPad I can download certain moves, but not on my phone...

edit flag offensive delete publish link more
0

answered 2017-10-28 21:08:11 +0300

tourdetour gravatar image

Netflix works on my Sailfish X. Moreover, root detection apps (Such as Root Checker) on the android store say the device isn't rooted.

I can't get the Android App Apple Music to work however, it starts but won't connect to my account. Anybody managed to have it working?

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
6 followers

Stats

Asked: 2017-10-27 09:52:44 +0300

Seen: 2,296 times

Last updated: Mar 27