Эмулятор Android: импорт файлов с рабочего стола и доступ к файлам - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь ознакомиться с 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 отказано в разрешении

Я должен верить, что кто-то там делает что-то такое простое: загрузка файла со своего компьютера в эмулятор и работа с этим файлом. Кажется, я не могу понять, как это сделать.

Мойвопросы:

  • Есть ли более простой способ сделать это, что я пропускаю?
  • Если нет, как обстоят дела с разрешениями и как их преодолеть для доступа к файлу?

Помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...