С нетерпением ждем отказа от устаревшая система пакета расширения OBB и замените ее новой блестящей Play Asset Delivery (PAD, ранее известная как Dynamic Asset Delivery), я следил за документацией. Но я не понимаю, что делать дальше. Как мне добраться до места, где я могу нажать Debug и найти готовые активы, как в старые времена, когда мой OBB ждал в телефоне в / storage / emulated / 0 / Android / obb /?
TL; DR: мой ответ приведен ниже, но мне бы очень понравилось, если бы был способ добиться быстрой отладки с помощью пакета ресурсов во время установки. Текущий рабочий процесс, описанный в моем ответе, требует 1) ожидания около 5-10 минут для сборки пакета, 2) создания блоба APKS, затем 3) его установки из разделов.
Ниже приведен отчет о моем пути к пониманию того, как работать с пакетом ресурсов, готовым к установке. Я надеюсь, что мой отчет о моих усилиях найдет несколько поисковых запросов от других сбитых с толку разработчиков и осветит им путь.
КАК ВСЕ НАЧИНАЛОСЬ
Моя цель: добиться такой же безупречной ситуации, как тогда, когда я нажимал кнопку «Отладка» в Android Studio, зная, что обратная сторона расширения была аккуратно установлена в соответствующем каталоге, чтобы передавать изображения и звуки нашему приложению. Здесь я надеялся нажать Debug и аналогичным образом найти изображения и звуки, готовые к использованию, но вместо этого прямо дома в моем Asset Manager.
В соответствии с традициями документации Expansion Pack, в документации PAD --local-testing звучит очень легко. Но тут начались неприятности.
Поэтому я сначала установил альфа-версию v0.15 bundletool в надежде испытать быстрые итерационные циклы, которые позволили бы избежать загрузки в Play Store во время разработки. Все идет нормально! Я использовал флаг --local-testing для создания коллекции APK.
Путаница возникла, когда я подключил свое устройство и запустил команду bundletool install-apk. Bundletool мало что говорит, и у него почти не было экрана -help. Но вот эти файлы выплюнул:
ADB >> OK
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-xxhdpi.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-master_2.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-de.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-fr.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-nb.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-sv.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-arm64_v8a_2.apk"
Я подумал, что одним из них может быть название моего пакета ресурсов, my_asset_pack.apk или что-то в этом роде. Но ничего не было.
Поэтому мне было любопытно, какой из этих файлов содержит активы, которые я разбил на пакет активов, отдельно от активов моего базового приложения. Я узнал строки локализации (de, fr и т. Д.). Но как насчет моих нелокализованных медиа? (Могут ли они быть в базе - master _2.apk?)
Было ли что-то еще, что мне нужно было сделать, чтобы эти активы появились? Пока что мои готовые к установке активы, похоже, не были доступны из Asset Manager при загрузке, поэтому я, должно быть, пропустил шаг.
РЕДАКТИРОВАТЬ: обновлено, чтобы отразить изменение имени с PAD на DAD.