在动态模块中使用样式时出错-Android应用程序捆绑包

时间:2019-02-21 13:00:28

标签: android android-app-bundle

我正在使用应用程序捆绑包-我的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 个答案:

答案 0 :(得分:2)

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

原因之一是所有动态特征的清单都合并在基本模块的清单中,并且基本模块不应依赖于动态特征。

如果您在基础中定义样式,则应该对其进行修复。

来源:

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

  

您应用基本模块的清单与任何   其他应用模块。请记住,当Google Play生成您的应用的   基本的APK,它将所有模块的清单合并到基本的清单中   APK。