Hi Shaughan,

> I have been unable to get files out of PilBox. In an earlier discussions, we
> tried several things, all of which failed. I think the solution is provided
> here:
> wiki.termux.com/wiki/Termux_Google_Play .

This is another problem. Apps targeting API 29 or higher can only execute
binaries which come *with* the APK, not loaded dynamically at runtime. This is
of course a show-stopper for Termux, which is all about loading arbitrary
packets.

And because Google disallows old target SDKs on PlayStore, Termux decided to
continue on F-Droid as long as possible.

PilBox had this problem too, as it executed bin/picolisp from its home
directory. I could fix it by providing the binaries as shared libs in the APK
system directories, and pointing symbolic links to them.

Meanwhile PilBox targets SDK 30, and it runs well.


The problem you have, i.e. accessing files in external directories, is described
in (as pointed out by Wilhelm Fitzpatrick in January)

   https://developer.android.com/training/data-storage/use-cases

must be solved by using "scoped" storage.


> Can someone please try providing a version of PilBox on Fdroid compiled with 
> target SDK level <= 28?

This would be doable, but could at best be a temporary solution.


> If that works, we can then discuss the best course of action.

I think the right way is to use scoped storage.

I have not deeply investigated it yet, but as far as I understand it we don't
need any change in PilBox for that. Instead, it should be doable directly in
PilBox by opening a proper dialog to the user requesting the permission. This
can be done by calling the Java runtime toolbox.

If anybody finds an example for this in Java or Kotlin, I can translate it to
Lisp. Probably best in a little stand-alone PilBox App.

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to