Alex– The following may also temporarily solve the problem, at least for anyone using Android 10. It is taken from the document you linked:
Before your app is fully compatible with scoped storage, you can temporarily opt out by using the following method: If you target Android 10 (API level 29), set the value of requestLegacyExternalStorage to true in your app's manifest file. Shaughan Sent from ProtonMail mobile -------- Original Message -------- On Apr 11, 2021, 9:32 AM, Alexander Burger wrote: > 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