多个模块项目中的每个AndroidManifest能否拥有自己的<application>部分?如何在模块之间共享资源?

时间:2018-07-29 12:52:55

标签: android module android-manifest

具有一个具有多个模块的androidStudio项目。

prj-应用插件:“ com.android.application”, (prj也是同时使用modulA和moduleB的测试应用程序)

  • 模块A-应用插件:“ com.android.library”
  • 模块B-应用插件:“ com.android.library”

内部模块A取决于模块B。

这些模块将在其他不同的应用程序项目中用作库。另一个应用程序项目可能依赖于模块A或模块B。

在模块A中,它有一些活动,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.oath.module_a">

<application
    android:hardwareAccelerated="true"
    android:largeHeap="true">

    <activity
        android:name="com.module_a.LoginActivity"
        android:launchMode="singleTop"
        android:theme="@style/ModuleATheme" />

   ... ...

</application>

在模块B中也有一些活动。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.oath.module_b">

<application
    android:hardwareAccelerated="true"
    android:largeHeap="true">

    <activity
        android:name="com.module_b.DetailsActivity"
        android:launchMode="singleTop"
        android:theme="@style/ModuleBTheme" />

   ... ...

</application>

如果模块相互依赖,可以在模块的单个清单中包含吗?

如果在模块A和模块B中都使用共享资源,该如何制作共享资源?

1 个答案:

答案 0 :(得分:2)

  

如果模块相互依赖,是否可以包含在模块的各个清单中?

是的。编译应用程序时,模块(以及您的库,应用程序和构建变体)中的清单都将合并在一起。

  

如果在模块A和模块B中都使用共享资源,该如何制作共享资源?

由于模块A依赖于模块B,因此您应该能够将共享资源放入模块B中,而模块A应该能够引用它们。