Путь к хранилищу приложения Android, возвращающий ноль только для классов.jar

Здесь проблема. У меня есть два отдельных класса, которые я включаю в свое приложение. Один из них - рекламный SDK, второй - RoboSpice. Оба источника у меня нет, это просто.jar-файлы, которые я включаю. Когда эти приложения пытаются получить путь к внешнему хранилищу для записи временных файлов, они возвращаются к нулю. Я знаю, что из-за логов они сбрасывают в консоль. Однако в моем собственном исходном коде, если я использую, я предполагаю, что те же самые подпрограммы, как getexternalstorage(), он возвращает путь и позволяет мне сохранять файлы просто отлично. Поскольку у меня нет исходного кода для этих классов, я не могу перейти к отладке, я могу полагаться только на то, что они пишут в консоль.

Теперь полная история. Этот проект был унаследован от другого разработчика. Они использовали Maven в проекте, и некоторые зависимости зависели от непубличных источников Maven. Поэтому я пошел дальше и преобразовал его в стандартный проект затмения. В старом скомпилированном источнике есть временные файлы robospice, которые хранятся на моих тестовых устройствах в кеше /data/data//, поэтому я знаю, что в прошлом старый источник прекрасно записывал на устройство. Любые идеи о том, почему скомпилированные источники не смогут найти правильные места хранения на устройстве?

1 ответ

Вы можете указать источники библиотек, которые вы используете, используя эту технику в затмении.

RS является открытым исходным кодом, и его исходный код можно легко найти в репозитории github.

RS 1.4.6 поддерживает установку пользовательского пути для файлов кэша, для этого вам нужно будет определить свой собственный сервис RS. Руководство для начинающих подробно описывает, как этого можно достичь.

Другие вопросы по тегам