8

我在我的 android 应用程序中使用 app bundle - 动态模块。在项目中,我有一个主模块和一个子模块。在子模块的 values -> 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.

这个问题的原因是什么?

任何建议表示赞赏。谢谢。

4

1 回答 1

10

Android Gradle 插件目前不支持从清单中引用动态功能的资源。

原因之一是所有动态特性的清单都合并到基础模块的清单中,基础模块不应该依赖于动态特性。

如果您在基础中定义样式,则应该修复它。

资源:

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

您的应用程序基本模块的清单类似于任何其他应用程序模块的清单。请记住,当 Google Play 生成您应用的基础 APK 时,它会将所有模块的清单合并到基础 APK 的清单中。

于 2019-02-21T18:33:18.357 回答