2013-03-01 17 views
5

Ich habe zwei abgeschlossene Projekte, eines zum Anzeigen der Liste der Bücher und ein weiteres ist Viewer-App, um die Bücher zu lesen. Aber da der Benutzer die Buchlisten-App herunterladen muss und nach dem Herunterladen muss er die Viewer-App herunterladen und ich möchte sie beim Start herunterladen und installieren lassen. Als ich versuchte, die Viewer-App in die Buchlisten-App zu integrieren, wurden beide installiert, aber wenn ich die APK gemacht habe, dann wird mit der APK nur die Buchlisten-App installiert. Kann mir jemand sagen, was das Problem ist? Und gibt es eine Möglichkeit, zwei apk zu einem zu bündeln? oder was soll ich tun?Bündeln Sie zwei apk in eine einzige apk?

Antwort

1

Sie können nicht zwei APK in einem einzigen APK haben.

Sie können jedoch zwei Aktivitäten mit dieser Handle intents android.intent.category.LAUNCHER in Ihrem Manifest haben. Sie werden beide dann im Launcher angezeigt.

Weitere Details finden Sie unter post.

3

Sie können sie zu einem Projekt kombinieren.

Erstellen Sie ein Projekt mit einem Paketnamen eines Basispaketnamens. Wenn beispielsweise Ihre aktuellen Apps com.package.booklist und com.package.bookreader sind, erstellen Sie ein Projekt mit dem Paket com.package. Kopieren Sie nun den gesamten Code aus der Buchliste in das Unterpaket com.package.booklist und den gesamten Code aus dem Buchleser in das Verzeichnis com.package.bookreader.

Jetzt müssen Sie die AndroidManifests kombinieren. Sie können alle <activity> usw. Elemente in das Manifest des neuen Projekts kopieren. Nun müssen Sie allen Klassen im Reader .bookreader und alle Klassen in der Buchliste mit .booklist voranstellen. So werden Sie ein Manifest haben, dass etwas wie folgt aussieht:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.package" 
    android:versionCode="1" 
    android:versionName="1" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity android:name=".booklist.BookListActivity" > 
      <intent-filter> 
       <category android:name="android.intent.category.LAUNCHER" > 
       </category> 

       <action android:name="android.intent.action.MAIN" > 
       </action> 
      </intent-filter> 
     </activity> 

     <activity android:name=".bookreader.BookReaderActivity" > 
      <intent-filter> 
       <category android:name="android.intent.category.LAUNCHER" > 
       </category> 

       <action android:name="android.intent.action.MAIN" > 
       </action> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Entfernen Sie den:

  <intent-filter> 
       <category android:name="android.intent.category.LAUNCHER" > 
       </category> 

       <action android:name="android.intent.action.MAIN" > 
       </action> 
      </intent-filter> 

Intent-Filter von der Aktivität, die Sie nicht im Launcher wollen.