Попытка настроить Android платфом модуль TvSettings - PullRequest
0 голосов
/ 01 апреля 2019

Моя цель - заставить мой Android-телевизор Mi Box S (Oreo 8.1) правильно транскодировать звуки Dolby Digital + (EAC3) в Dolby Digital (AC3) и выводить их на мой AVR через SPDIF.

Этот перекодирование возможно с приложением Kodi 18.1, но не предлагается другими настройками приложения или Android 8.1. Поскольку Kodi может это сделать, я реверс-проектировал стек Android. Мой вывод:

  • Android Oreo встраивает любые необходимые кодеки и другие вещи для выполнения этого транскодирования, но не предлагает настройки для настройки этого
  • Android Pie предлагает желаемую настройку объемного звучания (вывод Dolby Digital на SPDIF)

Итак, моя цель - перенести приложение Android TvSettings из Pie в Oreo

Сначала я попытался сгенерировать TvSettings с помощью Android Studio. Я взломал ресурсы приложения, но остановился, когда понял, что мне нужно создать платформенные зависимости (например, SettingsLib.jar)

Мое второе испытание заключается в создании всей платформы Android. Сборка завершена, и я могу развернуть приложение TvSettings на ТВ-симуляции x86, НО, когда я запустил приложение TvSettings, я получаю эту ошибку:

начало аварии:

2019-04-01 12: 21: 04.976 3987-3987 / com.android.tv.settings E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.android.tv.settings, PID: 3987 java.lang.RuntimeException: Невозможно получить провайдера «/data/app/com.android.tv.settings-2DkaCncwGQ874WP-kx3G4Q==/base.apk"],nativeLibraryDirectories=[/data/app/com.android.tv.settings-2DkaCncwGQ874WP-kx3G4Q==/lib/ x86, / system / lib, / vendor / lib]]

Я искал эту ошибку в интернете, и похоже, что она связана с мультидексной функцией. Эта мультидексная функция хорошо документирована для чистого приложения Android, но не для приложений, извлеченных из платформы Android и развернутых с помощью adb.

Эта проблема связана с загрузкой библиотек Java. Может быть, к multidex (я не совсем уверен).

Что я могу сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...