繁体   English   中英

gradle合并应用程序+库项目中的清单后,该活动的最终包名称是什么?

[英]What's the final package name of an activty after gradle merges manifests in a app+library project?

我有一个由项目和图书馆项目组成的项目。 他们两个都有自己的清单。

库项目具有所有活动定义(以及几乎所有代码)。 该应用程序项目有一个清单,其中仅定义了Application类。 (如果您问为什么我有这种结构是因为我有一个公共库,并且我创建了多个应用程序项目来更改主题和api调用)

我的问题是,当我必须在平台(例如Facebook)中定义初始活动类名称时,是否应该使用清单文件中定义的图书馆项目软件包名称? 或gradle将其与我的应用程序项目包名称合并?

例:

com.app.finalproject是我的应用程序包名称。

com.commonlibrary.ui.SplashActivity是我的初始活动的常用包名称,它是在我的公共库项目清单中定义的。

因此,在gradle合并两个清单之后,我的SplashActivity的软件包名称是什么? 还是com.commonlibrary.ui.SplashActivity还是com.app.finalproject.ui.SplashActivity之类的东西?

提前致谢。

严格来讲,活动没有包名称。

实现活动的Java类将在Java包中。 该包由类文件顶部的package行以及Java类所在的目录表示。 这些都不受清单合并过程的影响。

有时,您需要活动或其他组件的完整ComponentName 在这种情况下, ComponentName的包部分将是应用程序ID。 ComponentName的Java类部分仍将使用其常规Java包。

使用您的示例,如果我正确理解它,则该活动仍然是com.commonlibrary.ui.SplashActivity 该活动的ComponentNamecom.app.finalproject/com.commonlibrary.ui.SplashActivity

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM