File not found with new version of App Inventor

Buenos días, tengo una aplicación realizada con appinventor la cual una de las funciones es leer un archivo llamado registro.txt en la raíz del terminal y busca la información que contiene ese archivo.
Esta aplicación hace más de un año que la utilizamos y funciona perfecta, pero desde hace un día, al compilarla e instalarla no funciona y muestra el error 2101: The file/registro.txt coult not be found.
La aplicación no ha cambiado, el archivo registro.txt se encuentra donde siempre y es totalmente correcto.
La misma aplicación compilada hace una semana funciona.
Compilada ayer no funciona.

Deduzco que se habrá añadido alguna actualización en la forma de compilar que está dando error con el componente archivo de appinventor y no lo deja leer la memoria del terminal o alguna cosa similar.

He intentado ubicar el archivo registro.txt dentro de diferentes carpetas, renombrarlo, etc y ese no es el problema.

Resumen, la misma aplicación sin cambios complilada hace una semana funciona perfecta, y compilada ayer dá error. Algo pasa.

Necesito ayuda urgente por favor.

Gracias.

I would guess that your file: registro.txt is now in a location that cannot be read using the new API 30.

You could put this file in assets then move it to your ASD, depends on what you are doing with it.

Buffff, en qué problema me he metido entonces. :pensive:
Intentaré leer y entender todo lo que habláis y soluciones que presentáis en este foro durante este fin de semana ya que si no encuentro una solución el lunes rodará mi cabeza en el trabajo.
Gracias por contestar @TIMAI2

If you provide answers to your environment, Android version, a copy of your aia project etc. we can probably help you resolve the issue

Lo entiendo perfectamente y es lo más lógico, estoy seguro que si la comparto le encontrareis solución super rápido.
Pero tengo un problema, la aplicación es muy compleja y se está utilizando actualmente en una multinacional que prefiero no mencionar.
Esta aplicación la realicé yo buscando por foros y ayuda de la gente y gracias a ella conseguí un trabajo fijo y hacer feliz a mi familia, necesito que funcione. :pensive:
Mi empresa no me deja compartirla pero.... Estoy dispuesto a compartirla personalmente a alguien que me pueda ayudar como tú mismo @TIMAI2 y estoy seguro que si lo solucionas podrás compartir solo parte del código, bloques,etc sin que se vea perjudicado mi puesto de trabajo.
No quiero que nadie pase los nervios que yo estoy pasando. Esto no tendría que suceder.
Si me ayudas a que funcione te invito a unas cervezas, y sé cómo hacerlo por muy lejos que vivas.
No sé cómo mandarte un email personal @TIMAI2

@YiantheJOP

Indicate if your application should work on versions higher than Android 9.
Should your app be in the Google Play Store?

Actualmente la utilizamos en 10 terminales Blackview BV6800Pro con android 8.0

Pero en mi terminal particular con android 11 tampoco funciona.
Y nunca nos dió problemas.

Os la puedo compartir pero siempre que no se publique ni en el foro ni en la atore de android o me meterán en la cárcel :sweat_smile:
Básicamente el operario introduce una cadena de 17 dígitos en un campo y al pulsar un botón busca dentro de un archivo que se llama registro.txt y si se encuentra se pone un cuadrado en verde y si lo introducido no se encuentra se pone de color rojo. El archivo registro.txt hay que actualizarlo diariamente.
Cuando se termina la jornada el operario pulsa otro botón y se sube su trabajo a OneDrive.
Lo he resumido muchísimo Yaa que es mucho más compleja.

No, no. No está ni estará en Google store

Try in Screen1
Designer
Properties
DefaultFileScope: Legacy

  • En el archivo registro.txt, las líneas deben terminar en coma:

12345qwer12345678,
12345qwer12345679,
12345qwer12345671,
TMBJP6NJ8LZ039391,
TMBJP6NJ8LZ039392,
TMBJP6NJ8LZ039393,

after the SDK30 release you are not able to read a text file from arbitrary directories anymore, see also

let me suggest you to read it from shared storage like /Download
Taifun


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by icon24 Taifun.

I have chatted with @YiantheJOP

He has an Android 8. He has an app made with a previous version of App Inventor. Use File component and files addressed in the root /registro.txt

When it was updated to the new version of App Inventor, the File component created the DefaultScope: App property, whereupon the files took another direction.

defaultscope

Fixed by changing to
DefaultScope: Legacy.

I remember, it is Android 8.

[the title of this topic was edited]

1 Like

you might want to read what @ewpatton said here (Take image and save to app) camera component still asks for WRITE permission - #38 by ewpatton

we strongly recommend that folks stop the practice of writing to arbitrary locations as it's already restricted in Android 11 and as newer versions of Android continue to come out, you likely won't have the luxury of writing wherever you want. We are hoping that by defaulting to App scope most people will follow the newer constraints imposed by Android and not get surprised later when upgrading their OS or phone.

Taifun

Gracias a todos, de verdad.
Como dice @Juan_Antonio ya está solucionado.
A parte de arreglarme ese problema me corrigió otras que presentaban mi aplicación.
Lo dicho, gracias chicos, un saludo.

1 Like

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