这是一个关于Android应用程序的问题,有两个不同的.apks(或一个.apk文件中包含两个应用程序)
我有两个应用程序完全不同但有关系,比如一个是标准用户应用程序,一个是管理员应用程序。但用户既可以是用户,也可以是管理员。我想知道是否可以创建一个.apk文件,将两个应用程序安装到手机上?我怎么能得到这个?
谢谢, 马特
答案 0 :(得分:11)
您可以在同一个清单文件中包含两个活动元素,这两个活动元素同时具有 action = MAIN 和 category = LAUNCHER 的intent过滤器。此外,您还必须为两个活动元素使用属性“ android:taskAffinity ”(另请参阅here):
<application android:allowBackup="true"
android:icon="@drawable/main_icon"
android:label="@string/main_name"
android:theme="@style/AppTheme" >
<activity android:name="com.foobar.MyActivity2"
android:taskAffinity="com.foobar.MyActivity2"
android:icon="@drawable/icon1"
android:label="@string/name1" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.foobar.MyActivity2"
android:taskAffinity="com.foobar.MyActivity2"
android:icon="@drawable/icon1"
android:label="@string/name2" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
当在设备上安装带有此清单的APK文件时,它将在主屏幕上创建两个图标。这些图标的标题将取自 android:label 属性,图标将取自 android:icon 属性。在“设置|应用”下的应用列表中,您会看到名称&amp;由应用程序标记的属性定义的图标。当您在应用列表中为此条目选择“卸载”时,两个“应用”都将从设备中删除。
答案 1 :(得分:6)
这取决于您对“应用程序”的定义。如果您使用更正式的定义,则无法安装2个应用程序,因为<application>
manifest.xml
个manifest.xml
你可以在APK
中定义几个活动,他们可以做单独的事情,这样你就可以在一个{{1}}
只需定义多个活动并使用那些可以定义为选项,但这取决于您对“应用程序”的定义,但在这种情况下我会说它会起作用
答案 2 :(得分:1)
您应该使用APK Expansion Files构建 2 APK 。
不过,这是一项安全措施。答案 3 :(得分:1)
答案 4 :(得分:0)
没有
您可以做的是检查是否已安装第二个应用,如果答案为否,您可以使用this帖子提示您安装第二个应用。