Dynami c Функция со сторонней библиотекой, в манифесте которой есть действие с пользовательской темой - Ресурс не найден - PullRequest
0 голосов
/ 15 января 2020

В моем приложении есть модуль, который действует как динамическая c функция.

Этот динамический c функциональный модуль использует стороннюю библиотеку, где эта сторонняя библиотека имеет в AndroidManifest действие, которое использует собственную тему.

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

Ошибка выглядит следующим образом:

AGPBI: {"kind": "error", "text": "Android сбой привязки ресурса", "sources": [{"file" : "/ Users / my_user / Документы / MyProject / App / AppName / сборки / промежуточные / metadata_feature_manifest / отлаживать / processDebugManifest / метаданные функция / AndroidManifest xml.", "позиция": { "StartLine": 40, "startColumn" : 8, "лицевая линия": 45, "endColumn": 54}}], "оригинальная": "/ Пользователи / my_user / Документы / MyProject / App / AppName / сборки / промежуточная / metadata_feature_manifest / отладки / processDebugManifest / метаданные-функция / AndroidManifest. xml: 41: 9-46: 55: AAPT: ошибка: resou rce style / CustomTheme (он же com.my.project.domain: style / CustomTheme) не найден. \ n "," tool ":" AAPT "}

* Что пошло не так: выполнение задачи не выполнено ': приложение: processDebugResources. Произошел сбой при выполнении com. android .build.gradle.internal.tasks.Workers $ ActionFacade Android Не удалось связать ресурс /metadata-feature/AndroidManifest.xml:41:9-46:55: AAPT: ошибка: стиль ресурса / CustomTheme (он же com.my.project.domain: style / CustomTheme) не найден.

Я думаю, что эта проблема связана со следующей проблемой, описанной Google:

В манифесте динамического c функционального модуля не следует ссылаться на ресурсы, которые не существуют в базе модуль. Это потому, что когда Google Play генерирует базовый APK вашего приложения, он объединяет манифесты для всех модулей с базовым APK. Таким образом, привязка ресурсов прерывается, если манифест базового APK ссылается на ресурсы, которых нет в базовом APK.

Ссылка: https://developer.android.com/guide/app-bundle/


Как можно запустить этот проект, если сторонняя библиотека не открыта для изменения?

1 Ответ

0 голосов
/ 17 января 2020

Обойти эту проблему на самом деле довольно просто (хотя и вводит в заблуждение и выглядит не очень хорошо).

Например, если журнал жалуется на стиль с именем CustomTheme и имя строки custom_string это не может быть найдено, все, что вам нужно сделать, это создать этот стиль и строковый ресурс, пустой, в вашем базовом модуле.

.. / app / src / main / res / values ​​/ styles . xml

<resources ...>
...

<style name="CustomTheme" />

</resources>

.. / app / src / main / res / values ​​/ strings. xml

<resources ...>
...

<string name="custom_string" />

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