Can anyone help me with error 908? (Permision READ_EXTERNAL_STORAGE)

I do not understand why this error appears if nowhere in my application is reading external storage required.
I am only using an external component, the ColinTreeListView extension. Can this be the reason the application is claiming this permission? Can it be resolved in any way?
Thanks as always for so much help!

To answer this question, we need to know all components and extensions that are used.

Only one Extension (the one already commented on ColinTreeListView).
And only the usual components of User Interface and Layout. Nothing else. No component of Storage or Social or Connectivity.
Can any of the components I am using cause error 908?
Thank you!

Yes, the ColinTreeListView extension adds the permission READ_EXTERNAL_STOARGE to the Manifest. So, if you do not need this permission, (try to) remove it from the Manifest.

1 Like

I’ve never done anything like that, but I guess it will be necessary to edit the apk file.
You know (sure yes) how can I edit it?
Thanks again!

Decompile the APK and edit the Manifest. There are several tools to do that.
It’s not a big deal …

1 Like

Ok, I’ll look for an application to try to do that.
(Edit: Can these recompiled apk files generate a problem when you upload them to the Play Store? I mean, can it be considered a bad practice?)
Thanks for your help! Greetings.

Instead of “hard” removing it from Manifest, you can ask the user to accept it
Use the following block to do so:


Why doing it, even if you don’t need it?

  1. Editing the manifest by brute-force is not a good idea, as sometimes the app can lose the signature and some stores may reject it. You can sign it again, but I don’t really like editing things by decompiling
  2. It’s the most common permissions. Users won’t get surprised if an app with just a button asks for it, so don’t worry about asking for it; it is not the camera permission, for example

In your case, I would ask for it rather than editing the manifest. It seems easier, as you would have to edit the manifest every single time you compile the app

1 Like

Ok, I understand what you say, and it also seems the most correct, but the app already asks for permission. The error message appears when the permission is not accepted.
From that moment the error appears on each screen.

Use the when Screen1. Error Ocurred to handle it :wink:
You will avoid it from getting displayed to users

Well, that seems interesting, but somewhat advanced for my knowledge. I can’t think of adding to

when Screen1. Error occurred

I’ll try to do it, but I’m sure I’ll have to come back here for help :blush:

This is the block I’m talking about:


Find it in the Screen event blocks

Yes, I found it, but I don’t know how to tell the application to ignore that error and not to appear again



Go Diego, that’s really spectacular. I would never have done it myself. Thank you!


Por cierto Diego, aprovecho para comentarte en español (si quieres luego lo elimino) ¿No sería más fácil cobrar por el uso de la aplicación que todo ese complicado sistema que tenéis con la publicidad? Creo que cualquiera estaría dispuesto a pagar una cuota mensual por este servicio.

Woudln’t it be easier to charge for Kodular usages instead of using the commission system? I believe anyone would be willing to pay a montly fee for its service

No creas, ya que

  1. Está demostrado que en el momento que comienzas a cobrar por algo, ya sea una cantidad muy baja y muy razonable por algo, la gente lo ve con más recelo y busca alternativas
  2. No es tan justo, ya que gente que no gana nada y gente que gana cientos de euros estaría pagando lo mismo
  3. A la hora de declarar impuestos es más difícil, ya que habría que darse de alta en todos los países para operar, y hacer declaraciones más extensa. Con el sistema actual recibimos dinero de unas empresas localizadas el mismo país y es más sencillo

Don’t think so, because

  1. It has been demonstrated that when you start charging money, even if it’s a low and fair quantity, people don’t really like it and start searching for alternatives
  2. It is not fair, as people that don’t earn anything and people earning thousands of euros would be paying the same
  3. When paying taxes things become harder. We would have to register in every country to operate, and make tax reports more detailed. With our current system we just get money from companies in the same country

Ok. Lo entiendo. Espero que vaya bien en esa dirección. A mi me parce una herramienta excepcional

Okey, got it. I hope everything goes fine that way. For me, it is an amazing tool

1 Like

lo secundo, aunque no me importa los mensajes, pero es mas formal

Well, I reopen this thread to comment, in case it can help, that the component that was causing the READ_EXTERNAL_STORAGE error was not ColinTreeListView extension but the Webviewer component.
I do not know if it is common, nor do I have an explanation for it, but when I delete this component from my app, it no longer requests permission and therefore the error is not produced.
Now I am looking for a way to use this component, if possible, without needing permission (if anyone has an idea I would be grateful).
If it were not possible I will use the blocks that Diego kindly explained to me in previous answers, although it is not enough to ignore the error. It is necessary to accept the permission so that there are no subsequent errors in the application.
Maybe I can do this last for myself :roll_eyes: