Android Client Upgrade on Android 9 Pie

Hello,

Here’s my problem.
On an X28-I PepperJobs device with Andorid 9, the client is not updated automatically.
On older devices with Andorid 5 the update works without problems when released in the CMS.
On Android 9 devices the client is installed with v2 r202. After releasing the update v2 r204 in the CMS the status on the device shows that it is up to date.

Install Service Status
Update Window: 00:00 - 00:00
Version Information from CMS:{“id”:447, “file”: “447.apk”, “code”:204}
Up do Date

The option “Check Root is available” returns the message “Super User Permission have been granted”.
SuperSU or SuperUser are not installed on the device.
I guess it is because of the option “Install unknow Sources/Apps”.
Since Android 8 the behaviour has been changed and you have to set the permission for the APP Extra here.
Unfortunately the Xibo App is not displayed. See screenshot.

Is there a possibility to assign these permissions to the Xibo App under Android 9?

Maybe someone has the same problem?

thx
Robert

Hi and welcome,

That is interesting - I don’t think there is anything we need to do from the app to appear in that list - I think that list is essentially the list of apps that can launch app installs through the normal mechanism, which we do not do as it shows a popup.

When we issue an upgrade, we do so via a root shell, which we have tested to be working in Android 9. So I think your issue is probably more to do with the missing SuperSU/SuperUser than anything that happened in Android 9.

Can you see if you’re able to get SuperUser or SuperSu installed?

Hello Dan,

Unfortunately I am not sure if SuperSU or SuperUser can be installed.
For this I have to ask the manufacturer.
Here I still wait for the feedback.
Unfortunately I have no possibility to reinstall Andorid if something goes wrong with the installation.
The manufacturer told me that only he can reflash it.
For whatever reason.

In the XDA Forum you can read that SuperSU is dead since 2017.
Apparently it is not developed any further by the programmer. So I can’t say if it will still work with Andorid 9.

Edit:
I have received the feedback from the manufacturer.
The devices have full root privileges.
Therefore no app like SuperSU/SuperUser is needed here anymore.

I will install BusyBox for testing. So a shell would be available to install the update.

thx
Robert

Thanks for the feedback, that is interesting.

Have you tried setting to install with ADB instead of package manager?

Essentially we get a shell and then run: pm install -r -d <apk_file>

Alternatively you could try making Xibo a Device Admin?

I tested the ADB yesterday evening.
Unfortunately the same behaviour.

I also installed SSHelper.
After connecting to the device and changing to the XIBO folder I could install the client v2 R204 manually with pm install -r -d <apk_file>.

I am testing Device Admin right now and will contact you again.

I have now tested this with Device-Admin.

Device-Admin with “ADB instead of package manager”
Device admin without “ADB instead of package manager”
Standard with “ADB instead of package manager”
Standard without “ADB instead of package manager”

The behaviour is always the same.

During each test, the Device was set to factory default.

The first screenshot is shortly after registration.
The second screenshot is after 10 minutes. Here Xibo reports that the client is up to date.
Client was not updated

Second Screenshot

Hi Dan,

I did another test.
Reset the Device to factory default and install and configure Xibo Client v2 r202.

Then I created a COMMAND in the CMS for Android.
“pm install -r -d ./path_to_APK/447.apk”
In my case Xibo saves the APK under “./data/data/uk.org.xibo.client/files/”.

I then sent this COMMAND to the device. The Xibo Client v2 r202 was successfully updated to v2 r204.

My question. Why does the COMMAND. But the automatic update does not

thx
Robert

Sorry for the delay, that is really useful diagnostics.

I wonder if it is the install with link libraries loaded setting in the display settings profile:

That is the only difference I can think of between running the command manually and the upgrade process doing it.

I’ve tested it now.
For this I cloned the display settings and set this value “Load link library…” to false and assigned it to the Device.

After 30 minutes the update was still not installed. Under Status it says “up to date”
Afterwards I emptied the cache of the device and removed the device from the CMS.
After the new registration the update was installed after 5 minutes.

Another question:
Is there a variable for the installation directory of the Xibo client that I can use for the custom command?
pm install -r -d $variable/file.apk

EDIT:
The custom command from last week was still working. No longer works.
Strange behaviour
Error message on the Xibo client:
Method:XFA:RunnableCommand.Message: run: Attempt to invoke virtual method ‘java.lang.String java.lang.Object.toString()’ on a null object reference.

No there isn’t, but it should be the same on all devices - probably /data/data/uk.org.xibo.client/files

You probably have some content in your validation string for that command now, it is trying to get the shell output and not seeing anything returned.


I think you’ll need to set auditing as the log level on the display profile and enable debug on the display record, and try the upgrade again (uploading the same APK again to player versions).

The steps it takes during the upgrade will be logged and we can see what happens.

Functionally there is no difference between running the pm install command via the Commands function, and running it via the Upgrader.

I have a problem now. The company has been temporarily closed due to Coronavirus(COVID-19).

So I can’t continue testing at the moment.
I am trying to restore the backup from the Xibo server at my home.
But it will take a while.

No rush at all - thanks for the testing.

Hi Dan,

I could continue testing now.

With the devices X28-I PepperJobs with Android 9 I could see the following behaviour.
If the devices were in a group the “Load Link Libraries for APK Update = true”. So the update was not installed automatically.
Also changing to “Load Link Libraries for APK Update = false” and pushing the update again did not work.
A manual installation of the update via the COMMAND pm install -r -d … worked.
Apparently changing from True to False is not correctly recognized or applied by the devices.

If a new device was added to the group with “Load Link Libraries for APK Update = false” and then the update was pushed. So the update was installed correctly on my test device.
Tested with XIBO Android v202 -> v204 -> v205 worked with the test device.

I have created a new group for Android 9 and added the devices where “Load Link Libraries for APK Update = false” is.
I am still waiting for a new release of the Xibo Android Client and will test it with all devices.

thx
Robert

Sounds like the load link libraries fixed it! That is interesting, thank you.

There was a version of the CMS where this is a bug - are you on the latest CMS?

I am currently on version 2.3.1
I can update to version 2.3.3 end of the week

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.