Невозможно создать действительный файл.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 поврежден или по крайней мере это то, что я узнал.
Может кто-нибудь спасти меня еще одно десятилетие?
PS: я действительно использую свое настоящее имя пакета, на тот случай, если кто-то думает, что он безумно наполнен мудростью.
РЕДАКТИРОВАТЬ 1: Я только что протестировал свое приложение с помощью альфа-тестирования, но та же ошибка сохраняется. Грустно, действительно!
РЕДАКТИРОВАТЬ 2: Я делал идиотскую ошибку, сохраняя файл с расширением obb, архивируя его туда, где я должен был сохранить файл в формате zip и загрузить его в Play Store, который сделает преобразование для меня. Я так и сделал, но все еще столкнулся с той же проблемой.
РЕДАКТИРОВАТЬ 3: я успешно создал файл OBB с помощью инструмента JOBB с другого ПК, на котором инструмент, казалось, работал нормально, и я попытался загрузить этот файл OBB. Теперь, когда я загружаю его, появляется новая ошибка, которая NullPointerException
в return mAPKExtensionFile.getAssetFileDescriptor(path)
, Путь очень прямо внутри файла OBB, я думаю, что он не может найти сам файл OBB! Наконец, мне нравится "Теперь я могу получить разрешение Google на смерть!!"