Issue with AI companion 2.72 and Tom Bennedum's sqlite extension

This test project works on my Pixel 6a running Android 14. Maybe it is a manufacturer specific issue...

1 Like

Thanks for coming back Evan, yes it seems to be a local/device issue, my tester has a Samsung S22.

@Vor_Name Can you confirm your android device ? You mentioned a Samsung S6 Lite, do you have another Android 14 device you can try ?

Jeff has also tested using a Samsung S22 with Android 14 and it's working there as well.

1 Like

@TIMAI2 Tested with Google Pixel 7a and Android 14 and it works.

1 Like

Hi,
thanks a lot that you all jumped in - I now tested a cell phone (Galaxy A51) but with Android 13 and there all works fine (as expected). I'm not sure it's a good idea to update to Android 14 :face_with_spiral_eyes:
I rebooted PC and tablet (samsung S6 lite), made a fresh install of the companion (with previous uninstall) and it's still not working.
When I see it's working for others, what about the PC? I am using Windows 11 and Firefox 129.0.2. Maybe the problems come from this side?
However, it's strange that it works with the companion 2.70 and not with 2.72...

You may want to run adb logcat so that we can see why the companion is crashing?

Companion version 2.72 is the first version that targets Android 14, therefore the Android 14 security rules apply. One of the changes, which is most likely the culprit, is that dynamically loaded executable code must be marked read only. We updated the companion to do this and at least in our testing on Android 14 it works. There may be manufacturer specific changes to the Android code though that are causing it to fail on other devices so any log data we can get will help us better understand the scope of the issue.

Hi,
I made some additional tests. With the ms egde browser It doesn't work either and I made another discovery: The "Taifun File" extension shows the same issues. If I load projects where this extension is used, the behaviour of the companion 2.72 is the same - only the initial screen of the companion is shown on the android device.

I'm not very familiar with the android OS (I actually program microcontrollers bare metal in C...) but I managed to get an log - it's a ton of data :scream:
The log is made with the example sqlite272Test4_11.
I broke it down to the following messages:

Line 4342: 08-26 19:51:17.260  2914  2914 E or.aicompanion3: Attempt to load writable dex file: /storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/assets/external_comps/uk.co.metricrat.simplesqlite/uk.co.metricrat.simplesqlite.jar
Line 4343: 08-26 19:51:17.267  2914  2914 E AssetFetcher: Error in form.loadComponents
Line 4344: 08-26 19:51:17.267  2914  2914 E AssetFetcher: java.lang.SecurityException: Writable dex file '/storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/assets/external_comps/uk.co.metricrat.simplesqlite/uk.co.metricrat.simplesqlite.jar' is not allowed.

I hope this helps... Or does anyone have any useful filter settings for adb?

Ok, well that confirms a part of my theory, but I'm not sure why it is happening. I may ask you to try out some experimental versions to see if we can fix the problem.

Hi ewpatton,
I'm happy to help

Here is a development version of the companion app. It includes a potential fix for the error reported in the log. You should be able to scan it with the existing companion app to download it and initiate an upgrade.

[Redacted; please see below for a new link]

Note, if you get a warning from App Inventor stating that the companion is "out of date", this is due to the fact that it is a newer version than the ones that App Inventor recognizes. Click the "Not Now" button to ignore the upgrade request (which would actually be a downgrade in this situation).

1 Like

Here is an updated version, 2.72d2, that makes some further changes around the writeable logic of extensions.

[Redacted]

There is a new thread following this development here:

1 Like

Hi ewpatton,

With this version I get an error message in the editor (browser):

Runtime Error

Unable to load extensions.java.lang.SecurityException: Writable dex file '/storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/assets/external_comps/uk.co.metricrat.simplesqlite/uk.co.metricrat.simplesqlite.jar' is not allowed.
Note: You will not see another error reported for 5 seconds.

The above message comes with the example from TIMAI2.
I additionally checked with a project that uses the "Taifun File" extension:

Runtime Error

Unable to load extensions.java.lang.SecurityException: Writable dex file '/storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/assets/external_comps/com.puravidaapps.TaifunFile/com.puravidaapps.TaifunFile.jar' is not allowed.
Note: You will not see another error reported for 5 seconds.

It looks like the error message is now being passed through, this error message was'nt shown before.

This one works normally. (Sorry for being offline, it was night here)

@Vor_Name

Did you test with 2.72d2 ?

Hi Vor & friends, I encountered the exact same issue (Companion version: 2.72, Android version: 14, Device: Redmi Pad). When I tried to connect, loading bar always disappear at around 45% and nothing happened to the companion.

I tried to load the project on my friend's device (the exact same type of Redmi Pad as mine) with companion version 2.70, as well as on my phone (Samsung A54) with companion version 2.72, and it all loaded well.

I tried the 2.72u version, but unfortunately the issue remains.

Have you tested with the companion 2.72d2 above?

Hi TIMAI2,
I just tested with the companion 2.72d2 and this appeared:

(edit) I clicked "Not Now", and the project loads! Thank you so much everyone!

Select Not Now to proceed.

1 Like

TIMAI2,
It loads well! Thank you.