We have moved to a new Sailfish OS Forum. Please start new discussions there.
12

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

2

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
2

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

4 Answers

Sort by » oldest newest most voted
26

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

DrYak gravatar image

updated 2019-07-23 03:12:16 +0300

Reason for incompatibilites :

Version of Android

Alien-Dalvik only supports:

  • Android 8.1 Pie on Xperia XA2
  • Android 4.4 Kit-Kat on Xperia X
  • Android 4.1 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 except the latest.

  • 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 Play Service (com.google.android.gms) and Store (com.android.vending) are examples with plenty of documentation on this site.

    microG is an opensource alternative for the same APIs (and since 3.1.0 Seitseminen, Jolla has put effort to make more usable for XA2's Android 8.1 Pie compatibility layers)

  • 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)
      Note: TWINT requirements has recently been bumped up to 5.0, it will only work with XA2

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 and some 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
2

@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

Comments

Any progress made so far?

Why_Hurry ( 2019-10-08 02:03:49 +0300 )edit
0

answered 2019-07-23 10:59:25 +0300

WedgeStratos gravatar image

Personally testing things, most of my apps have carried over fine, though a few have some issues now, and I have two that are dead. This is on XA2 with 3.1.0.11.

  • Keepass2Android Offline, a version of Keepass2Android which removes online functions like LAN and Cloud. Previously, I could access kdbx files from the root of .android_storage just fine with complete RW. However, I had to do some finagling to sync my database, requiring me to remove it from the phone. With the removal of AOSP File Picker in 3.1, I now cannot select my database and open it with RW access. It is forced as RO, and I don't feel too compelled to drag it through Android's file structure to get RW working.
  • Chromium and Firefox. As browsers, they work fine (I have Chromium specifically because my job demands it, and neither Firefox, nor the Sailfish web browser, can access my job's website correctly or utilize caching and re-establishing connections.) but once more, with the removal of AOSP File Picker, I now cannot upload images for my job. File picking flat out does not work in Sailfish's browser, and since Firefox is still in the Dalvik, it is also useless.

I've grabbed X-plore in an effort to supplement these file picker issues, but it's a very inelegant client for trying to select images, and more of an issue is that I can't access the camera roll from Sailfish period now. It certainly was inconsistent but I'd rather it works half the time than not at all. Removing AOSP File Picker is a massive mistake, and one that needs to be remedied ASAP.

As for completely broken...

  • Google Messages. I'm not surprised so I won't dwell on it.
  • App Cloner. This is weird, I had to get this from their website, as they had been blocked by Google (the app allows you to modify Android apps and their features, permissions, and even lock and rename apps for extra privacy, evidently Google isn't okay with it). There's no discernible reason the app should stop working. More annoying is the companion Premium app that IS available on Google Play, it does work and launch, although microG cannot find my purchases for me, so my IAP of Premium isn't much good.

Otherwise, Spotify, Youtube, FB Lite, Authy, Microsoft Remote Desktop, and the like seem to work without a hitch. That's my two cents.

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

Question tools

Follow
10 followers

Stats

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

Seen: 4,364 times

Last updated: Jul 23 '19