一个安装两个应用程序的.apk文件

时间:2012-05-21 09:22:50

标签: android android-layout android-widget apk

这是一个关于Android应用程序的问题,有两个不同的.apks(或一个.apk文件中包含两个应用程序)

我有两个应用程序完全不同但有关系,比如一个是标准用户应用程序,一个是管理员应用程序。但用户既可以是用户,也可以是管理员。我想知道是否可以创建一个.apk文件,将两个应用程序安装到手机上?我怎么能得到这个?

谢谢, 马特

5 个答案:

答案 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.xmlmanifest.xml

你可以在APK中定义几个活动,他们可以做单独的事情,这样你就可以在一个{{1}}

只需定义多个活动并使用那些可以定义为选项,但这取决于您对“应用程序”的定义,但在这种情况下我会说它会起作用

答案 2 :(得分:1)

您应该使用APK Expansion Files构建 2 APK

不过,这是一项安全措施。

答案 3 :(得分:1)

是的,您只需安装一个应用即可安装多个应用。
在Manifest.xml中 enter image description here

项目结构:

enter image description here

答案 4 :(得分:0)

没有

您可以做的是检查是否已安装第二个应用,如果答案为否,您可以使用this帖子提示您安装第二个应用。