Ошибка при использовании стилей в динамических модулях - комплект приложений для 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.