Ошибка при использовании стилей в динамических модулях - комплект приложений для Android

Я использую комплект приложений - динамический модуль в моем приложении для Android. В проекте у меня есть основной модуль и вспомогательный модуль. В значениях подмодуля -> styles.xml я определил пользовательские стили, чтобы включить некоторые анимации для действий.

<style name="SampleActivityTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="buttonStyle">@style/CustomButtonStyle</item>
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowActivityTransitions">true</item>
    <item name="android:windowEnterTransition">@transition/activity_transition_note</item>
    <item name="android:windowExitTransition">@transition/activity_transition_note</item>
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>

В манифесте я использую эти стили, используя атрибут темы,

<activity
        android:name=".activity.SampleActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale"
        android:label=""
        android:screenOrientation="portrait"
        android:theme="@style/SampleActivityTheme">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
        </intent-filter>
</activity>

Но когда я строю проект, я получаю ошибку компиляции, как показано ниже,

/Users/chathura/Branches/AppBundle/sample_module/build/intermediates/merged_manifests/debug/AndroidManifest.xml:778: error: resource style/SampleActivityTheme (aka lk.sample.mysampleapp:style/SampleActivityTheme) not found.

Что будет причиной этой проблемы?

Любое предложение приветствуется. Благодарю.

1 ответ

Решение

Ссылки на ресурсы из динамических функций из манифеста не поддерживаются сегодня в плагине Android Gradle.

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

Если вы определите стиль в базе, это должно исправить.

Источник:

С https://developer.android.com/studio/projects/dynamic-delivery

Манифест для базового модуля вашего приложения аналогичен любому другому модулю приложения. Имейте в виду, что когда Google Play создает базовый APK вашего приложения, он объединяет манифесты для всех модулей с базовым APK.

Другие вопросы по тегам