Не удалось создать действительный файл .obb

Я на грани создания файла OBB только для добавления своего видео, размер которого составляет около 80 МБ. Я пытаюсь создать файл obb с помощью Win RAR с соглашением об именах main.2.my.package.name.obb, и я действительно использую упомянутый формат Store для архивирования моего файла. Скриншот – . Когда я пытаюсь запустить следующий код

        ZipFileContentProvider contentProvider = new ZipFileContentProvider();
        String contentPath = "content://my.package.name.provider";
        File root = Environment.getExternalStorageDirectory();
        String EXP_PATH = File.separator + "Android" + File.separator + "obb" + File.separator;
        String path = root.toString() + EXP_PATH + getPackageName() + File.separator + "main.2.dmcc.mea.golive.golive.obb";
        String zipFileName =  contentPath + path + "/" + "video/app_video.mp4";
        Log.e("The URI is ", "" + zipFileName);
        uri = Uri.parse(zipFileName);


public class ZipFileContentProvider extends APEZProvider {

    @Override
    public String getAuthority() {
        return "my.package.name.provider";
    }
}

Тот, что в манифесте, выглядит так:

        <provider
            android:name="my.package.name.ZipFileContentProvider"
            android:authorities="my.package.name.provider"
            android:exported="false"
            android:multiprocess="true" />
        <meta-data
            android:name="mainVersion"
            android:value="1"></meta-data>

Итак, я пытаюсь проверить это, поместив сгенерированный файл OBB в свой sdcard/Android/obb, но я получаю IllegalStateException при попытке доступа к файлу. Скриншот.

И да, я пытался создать файл obb с помощью инструмента JOBB, доступного в инструментах Android, но я один из тех неудачливых людей, которые получают ошибку при попытке создать файл jobb. Мне стало известно, что это существующая ошибка в Android, о которой сообщает Google — см. здесь. Я сижу над этим уже почти десять лет.

Итог: JOBB не работает, благодаря Google и WinRAR кажется немного запутанным. Совершенно не представляю, как быть дальше.

Мои справочные ссылки включают: Ссылка 1 Ссылка 2 Ссылка 3

Я СИЛЬНО и СЕРЬЕЗНО предполагаю, что IllegalStateException возникает только из-за того, что файл obb поврежден, или, по крайней мере, это то, что я узнал.

Может ли кто-нибудь спасти меня еще одно десятилетие?

P.S. Я действительно использую свое настоящее имя пакета на тот случай, если кто-то подумает, что он безумно преисполнен мудрости.

РЕДАКТИРОВАНИЕ 1: я только что протестировал свое приложение с помощью альфа-тестирования, но та же ошибка сохраняется. Грустно, правда!!

РЕДАКТИРОВАТЬ 2: я совершил идиотскую ошибку, сохранив файл с расширением obb, заархивировав его, где я должен был сохранить файл в формате zip и загрузить его в Play Store, что сделает конверсия для меня. Я так и сделал, но все еще сталкиваюсь с той же проблемой.

РЕДАКТИРОВАТЬ 3: я успешно создал файл obb с помощью инструмента JOBB с другого ПК, на котором инструмент работал нормально, и я попытался загрузить этот файл obb. Теперь, когда я загружаю, он выдает мне новую ошибку, которая теперь NullPointerException в return mAPKExtensionFile.getAssetFileDescriptor(path). Путь находится прямо внутри файла obb, я думаю, что он не может найти сам файл obb! Наконец, я такой: «Теперь я могу получить разрешение Google на смерть !!»


person San    schedule 19.08.2015    source источник