2012-05-21 14 views
10

Ésta es una pregunta relativa a las aplicaciones de Android con dos .apks diferentes (o dos aplicaciones contenidas en el archivo apk uno)archivo APK que se instala dos aplicaciones

Tengo dos aplicaciones que hacen cosas completamente diferentes, pero que son relacionado, digamos que una es una aplicación de usuario estándar y una es una aplicación de administrador. Pero un usuario puede ser tanto un usuario como un administrador. Me pregunto si es posible para mí crear un archivo .apk que instale dos aplicaciones en el teléfono. ¿Y cómo podría obtener esto?

Gracias, Matt

Respuesta

4

Depende de su definición de "aplicación". No se puede instalar 2 aplicaciones si se utiliza la definición más oficial, ya que sólo puede tener 1 <application> en su manifest.xml

Se pueden definir varias actividades en su manifest.xml, y ellos pueden hacer cosas separadas, por lo que de esa manera se puede tener 2 cosas que una persona podría describir como "aplicación" en una APK

Solo defina actividades múltiples y use esas podría ser definida como una opción, pero depende de su definición de 'aplicación', pero en este caso yo diría funcionaría

+0

Simplemente parece que la solución sería adecuada ... ¿tiene un vínculo en Android? wiki de desarrolladores, no puedo verlo, gracias – MattTheHack

+0

Sure: http://developer.android.com/guide/topics/manifest/activity-element.html. Estás declarando cada actividad de todos modos, así que no es gran cosa realmente. Debería tener un filtro de intención para que sea un iniciador, al igual que su primera actividad: http://developer.android.com/reference/android/content/Intent.html#CATEGORY_LAUNCHER – Nanne

0

lo que puede hacer es comprobar si la segunda aplicación ya está instalada, y si la respuesta es no, puede pedir a la solicitud para instalar la segunda aplicación usando la publicación this.

1

Usted debe construir 2 APK son el uso APK Expansion Files.

Por cierto, esta es una medida de seguridad.

+2

utilizando el.los archivos de expansión apk no instalarán el segundo apk (creo) – thepoosh

+0

Sí @Thepoosh Los archivos de expansión solo se agregan si el tamaño del archivo apk es> 50MB –

6

Puede tener dos elementos de actividad en el mismo archivo de manifiesto, que tienen el filtro de intención r con acción = PRINCIPAL y categoría = LANZADOR. Además, también hay que utilizar el atributo "androide: taskAffinity" tanto para los elementos de la actividad (véase también 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> 

Cuando el archivo APK con este manifiesto está instalado en un dispositivo, se creará dos iconos en la pantalla de inicio. El título de estos iconos se tomará de los atributos android: label, y los iconos se tomarán de los atributos android: icon. En la lista de aplicaciones en "Configuración | Aplicaciones", verá el icono & definido por los atributos de la etiqueta de la aplicación. Cuando elige "desinstalar" para esta entrada en la lista de aplicaciones, ambas "aplicaciones" se eliminarán del dispositivo.

+0

cómo fusionar los dos apk para hacer en una sola aplicación –

+0

"Fusionar dos APK" significa que no tiene el código fuente de las aplicaciones, ¿no es así? Esta pregunta se analiza allí: http://stackoverflow.com/questions/5074695. El problema es que para esto tenía que fusionar las dos clases.dex y también AndroidManifest.xml, que está contenida en forma binaria en el archivo APK. – user1364368

+0

Estoy tratando de crear una aplicación como LOCKET así que tengo una aplicación para LockScreen ya que he hecho LANZADOR en el manifiesto y tengo una aplicación para MainScreen dentro de la aplicación que también es Launcher en mi manifiesto. Solo tengo un archivo de manifiesto por eso consigo 2 apk en el launcher. –

1

Sí, puede instalar varias aplicaciones simplemente instalando una aplicación.
En Manifest.xml enter image description here

Estructura del proyecto:

enter image description here

Cuestiones relacionadas