多个模块项目中的每个 AndroidManifest 可以有自己的 <application> 部分吗?模块之间如何共享资源?

lan*_*nyf 2 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>
Run Code Online (Sandbox Code Playgroud)

在模块 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>
Run Code Online (Sandbox Code Playgroud)

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

moduleA和moduleB都使用共享资源怎么办?

Com*_*are 6

如果模块相互依赖,可以在模块的单独清单中使用吗?

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

moduleA和moduleB都使用共享资源怎么办?

由于 moduleA 依赖于 moduleB,因此您应该能够将共享资源放入 moduleB 中,并且 moduleA 应该能够引用它们。