Путь к хранилищу приложения Android, возвращающий ноль только для классов.jar
Здесь проблема. У меня есть два отдельных класса, которые я включаю в свое приложение. Один из них - рекламный SDK, второй - RoboSpice. Оба источника у меня нет, это просто.jar-файлы, которые я включаю. Когда эти приложения пытаются получить путь к внешнему хранилищу для записи временных файлов, они возвращаются к нулю. Я знаю, что из-за логов они сбрасывают в консоль. Однако в моем собственном исходном коде, если я использую, я предполагаю, что те же самые подпрограммы, как getexternalstorage(), он возвращает путь и позволяет мне сохранять файлы просто отлично. Поскольку у меня нет исходного кода для этих классов, я не могу перейти к отладке, я могу полагаться только на то, что они пишут в консоль.
Теперь полная история. Этот проект был унаследован от другого разработчика. Они использовали Maven в проекте, и некоторые зависимости зависели от непубличных источников Maven. Поэтому я пошел дальше и преобразовал его в стандартный проект затмения. В старом скомпилированном источнике есть временные файлы robospice, которые хранятся на моих тестовых устройствах в кеше /data/data//, поэтому я знаю, что в прошлом старый источник прекрасно записывал на устройство. Любые идеи о том, почему скомпилированные источники не смогут найти правильные места хранения на устройстве?
1 ответ
Вы можете указать источники библиотек, которые вы используете, используя эту технику в затмении.
RS является открытым исходным кодом, и его исходный код можно легко найти в репозитории github.
RS 1.4.6 поддерживает установку пользовательского пути для файлов кэша, для этого вам нужно будет определить свой собственный сервис RS. Руководство для начинающих подробно описывает, как этого можно достичь.