2012-05-21 22 views
10

Questa è una domanda riguardante le applicazioni Android con due .apks differenti (o due applicazioni contenute nel file uno .apk)di file .apk Uno che consente di installare due applicazioni

ho due applicazioni che fanno cose completamente diverse, ma sono correlate, diciamo che una è un'app utente standard e una è un'app di amministrazione. Ma un utente può essere sia un utente che un amministratore. Mi chiedo se è possibile per me creare un file .apk che installa due applicazioni sul telefono? E come avrei fatto a riguardo?

Grazie, Matt

risposta

4

Dipende dalla definizione di "applicazione". Non è possibile installare 2 applicazioni se si utilizza la definizione più ufficiale, come si può avere solo 1 <application> nel vostro manifest.xml

È possibile definire diverse attività nel vostro manifest.xml, e si possono fare cose separate, quindi in questo modo si può avere 2 cose che una persona potrebbe descrivere come "applicazione" in uno APK

Basta definire più attività e utilizzare quelle che potrebbero essere definite come un'opzione, ma dipende dalla definizione di "applicazione", ma in questo caso direi funzionerebbe

+0

La soluzione giusta suona come se fosse adatta ... hai un collegamento ad esso su Android sviluppatori wiki, non riesco a vederlo, grazie – MattTheHack

+0

Certo: http://developer.android.com/guide/topics/manifest/activity-element.html. Stai dichiarando comunque ogni attività, quindi non è un grosso problema. Dovresti avere un filtro intent per essere un launcher, proprio come la tua prima attività: http://developer.android.com/reference/android/content/Intent.html#CATEGORY_LAUNCHER – Nanne

0

No.

cosa si può fare è quello di verificare se la seconda applicazione è già installata, e se la risposta è no, è possibile richiedere la richiesta per installare il secondo app utilizzando il post this.

1

È necessario creare 2 APK utilizzare APK Expansion Files.

Btw, questa è una misura di sicurezza.

+2

utilizzando il.i file di espansione apk non installeranno il secondo apk (penso) – thepoosh

+0

Sì @Thepoosh I file di espansione vengono aggiunti solo se la dimensione del file apk> 50MB –

6

È possibile avere due elementi di attività nello stesso file manifest, che hanno entrambi il filetto di intenti r con action = MAIN e category = LANCIO. Inoltre, si hanno anche per utilizzare l'attributo "android: taskAffinity" per entrambi gli elementi di attività (vedi anche 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> 

Quando il file APK con questo manifesto è installato su un dispositivo, si creerà due icone sulla schermata iniziale. Il titolo di queste icone sarà preso dagli attributi android: etichetta e le icone saranno prese dagli attributi android: icona. Nell'elenco delle app sotto "Impostazioni | App" vedrai l'icona nome & definita dagli attributi del tag dell'applicazione. Quando scegli "disinstalla" per questa voce nell'elenco di app, entrambe le "app" verranno rimosse dal dispositivo.

+0

come faccio a unire i due apk per fare in un'unica app –

+0

"Unire due APK" significa che non hai il codice sorgente delle app, vero? Questa domanda è discussa qui: http://stackoverflow.com/questions/5074695. Il problema è che per questo hai dovuto unire le due classes.dex e anche l'AndroidManifest.xml, che è contenuto in formato binario nel file APK. – user1364368

+0

sto provando a creare un'app come LOCKET quindi ho un apk per LockScreen da quando l'ho realizzato LAUNCHER nel manifest e ho un apk per MainScreen all'interno dell'app che è anche Launcher nel mio manifest. Ho solo un file manifest che è il motivo per cui ottengo 2 apk sul launcher. –

1

Sì, è possibile installare più app semplicemente installando un'app.
In Manifest.xml enter image description here

Progetto Struttura:

enter image description here

Problemi correlati