迁移到Android Studio将导致为"单个主项目多个库项目"安装多个应用程序

Che*_*eng 5 eclipse android android-studio

我有

  • 单个主要项目,定义<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />
  • 多个库项目,其中一些定义<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />

当我使用Eclipse构建和运行具有多个库项目的单个主项目时,将只安装1个应用程序.

但是,如果我迁移到Android Studio以构建和运行具有多个库项目的单个主项目,则将安装多个应用程序,

取决于有多少项目(无论主要项目或图书馆项目)定义<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />

我想知道,在构建和运行项目时,是否有任何我在Android Studio中做错的配置,这会导致安装多个应用程序?

目前,我唯一的解决方法是从所有库项目中删除这些行(<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />)AndroidManifest.xml.这是在Android Studio中导入项目库的常见和正确方法吗?与在Eclipse中一样,这些行不会在我的设备中安装额外的应用程序.

这就是我的项目结构的样子

在此输入图像描述

如您所见,第一个文件夹图标看起来与其他文件夹图标不同.我想这表明,第一个文件夹图标是主项目,其他是图书馆项目.

如果只有一个主项目,为什么可以安装多个应用程序?

Eug*_*nec 7

在Eclipse中,仅使用AndroidManifest.xml来自主应用程序项目.在Android Studio(和Gradle构建系统)中,所有清单都合并在一起.

<activity>清单中元素内的以下行表示该活动应显示在启动器菜单中.如果您不希望如此,请删除这些行.

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

所有这些都是预期的行为.