Поскольку моя игра весит 100 Мб, мне нужно использовать файл расширения. Я помещаю ниже код в MainActivity в функции onCreate()
ZipResourceFile expansionFile = null;
try {
expansionFile = APKExpansionSupport.getAPKExpansionZipFile(getApplicationContext(),2,0);
} catch (IOException e) {
e.printStackTrace();
}
Я не использую файл расширения патча, только основной, поэтому я думаю, что правильно поставить 0 в качестве версии. Когда я регистрируюсь, чтобы проверить, успешно ли загружен файл расширения, я получаю нулевое значение.
if(expansionFile == null)
Gdx.app.log("EXPANSION_FILE", "NULL");
else
Gdx.app.log("EXPANSION_FILE", "NOT NULL");
Я следовал инструкциям на https://developer.android.com/google/play/expansion-files.html и вручную поместил файл main.2.com.my.game.obb в папку на моем устройстве Nexus:
Internal storage\Android\obb\com.my.game\
В папке Android\obb есть другие файлы obb из других игр, так что это должно быть правильное место. Любые подсказки, почему он не монтирует файл расширения obb?
ОБНОВИТЬ
Я внедрил DownloaderActivity
, и он без проблем загружает файл расширения. Он выдавал мне сообщение журнала «Не zip-архив». Я нашел способ избежать этого. Я заархивировал файл OBB и загрузил его в консоль разработчика. В любом случае он автоматически конвертировался в OBB, но на этот раз, когда я загрузил его на свой Nexus, он больше не дает мне нулевое значение для ZipResourceFile
и больше не дает мне сообщение «Не zip-архив». Но все же я не могу получить доступ к файлам из него, так как использую AssetManager из Libgdx.
Я нашел другой способ, который сейчас тестирую.