Android Studio将某个Module作为Library被引用时,主APP安装后作为Library的Module在桌面上也有一个APP图标
Posted guangdeshishe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio将某个Module作为Library被引用时,主APP安装后作为Library的Module在桌面上也有一个APP图标相关的知识,希望对你有一定的参考价值。
android Studio将某个Module作为Library被引用时,主APP安装后作为Library的Module在桌面上也有一个APP图标,点开后就是那个Library的主界面,大概是这样:
这是因为作为Library的Module中AndroidManifest.xml里配置了默认启动的Activity,像这样:
//Library项目中
<activity
android:name=".SettingsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
所以桌面程序(Launcher)就将它识别成一个可以启动的APP,打开后就是该Activity界面,其实它只是个桌面快捷方式而已,并非将Library作为一个独立的APP,这点可以在系统的“设置”->“应用管理”那里可以证实(如果是作为独立app那么列表会出现两个app);
那么同一个Module里是否可以配置多个Activity作为快捷方式呢?
当然是可以的,比如这样:
<activity android:name=".MainActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"
android:label="SecondActivity"
android:icon="@mipmap/ic_launcher_second"
android:taskAffinity="com.example.myapplication1">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
不仅如此,还可以修改该快捷方式的名字(android:label)和图标(android:icon),默认是跟主Activity一致的,更多快捷方式相关设置可以自行查询相关资料
以上是关于Android Studio将某个Module作为Library被引用时,主APP安装后作为Library的Module在桌面上也有一个APP图标的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio将Eclipse的项目作为module的依赖库
android studio 中移除module和恢复module