Я пытаюсь ознакомиться с Firebase MLKit (распознавание текста) и использую эмулятор Android.
Я собрал очень простую программу: открывает файл изображения, который я вручную помещаю на эмулируемое устройство (я сделал этот снимок на своем физическом телефоне, по умолчанию файл сохраняется в / sdcard / Download),Я пытаюсь заставить MLKit выполнить распознавание текста для файла, который я помещаю на эмулируемый телефон.
Я не могу добраться до части распознавания текста, потому что не могу даже получить доступ к файлу.Я продолжаю сталкиваться с проблемами с разрешениями и получаю следующую ошибку:
java.io.FileNotFoundException: /sdcard/Download/test.jpg (Permission denied)
Я искал в Интернете решения, и, похоже, ничего не работает.Вот некоторые из предложенных мною советов:
- Используйте доступ su для принудительного разрешения прав доступа к файлу 777 -> sudo su и su не распознаются команды в оболочке adb
- Попытка сделать файл разрешением chmod 777 перед загрузкой в эмулятор -> Эмулятор Android всегда заставляет файл иметь значение 660
- Добавление
WRITE_EXTERNAL_STORAGE
и READ_EXTERNAL_STORAGE
в манифест -> не делаетразница - Перемещение файла из / sdcard / Загрузка в другой каталог (/ sdcard / Pictures) -> Разрешение файла остается прежним
- Перемещение файла в каталог / storage / emulated (которыйгде
Environment.getExternalStorageDirectory().getPath()
указывает на -> Отказано в доступе - Перемещение файла в / data / data для использования его в качестве локального файла вместо внешнего файла -> / data / data отказано в разрешении
Я должен верить, что кто-то там делает что-то такое простое: загрузка файла со своего компьютера в эмулятор и работа с этим файлом. Кажется, я не могу понять, как это сделать.
Мойвопросы:
- Есть ли более простой способ сделать это, что я пропускаю?
- Если нет, как обстоят дела с разрешениями и как их преодолеть для доступа к файлу?
Помогите!