2013-03-01 18 views
5

Mam dwa ukończone projekty, jeden do wyświetlania listy książek, a drugi to aplikacja przeglądarki do czytania książek. Ale jako użytkownik musi pobrać aplikację listy książek i po pobraniu musi pobrać aplikację przeglądarki i chcę ją pobrać i zainstalować na starcie. Kiedy próbowałem włączyć aplikację przeglądarki do aplikacji listy książek, obie zostały zainstalowane, ale kiedy zrobiłem apk, a następnie używając apk, zainstalowana jest tylko aplikacja listy książek. Czy ktoś może mi powiedzieć, jaki jest problem? I czy istnieje sposób na połączenie dwóch APK w jeden? albo co powinienem zrobić?Pakiet dwóch apk w jednym apk?

Odpowiedz

1

Nie możesz mieć dwóch pakietów APK w jednym pliku APK.

Jednak w swoim manifeście można mieć dwie czynności z tym uchwytem w postaci android.intent.category.LAUNCHER. Będą one wtedy wyświetlane w Launcherze.

Aby uzyskać więcej informacji, zapoznaj się z tym post.

3

Możesz połączyć je w jeden projekt.

Utwórz projekt, który ma nazwę pakietu podstawowej nazwy pakietu. Na przykład, jeśli bieżąca aplikacja to com.package.booklist i com.package.bookreader, utwórz projekt z pakietem com.package. Teraz skopiuj cały kod z listy książek do sub-pakietu com.package.booklist, a cały kod z czytnika książek do com.package.bookreader.

Teraz musisz połączyć AndroidManifests. Możesz skopiować wszystkie elementy z <activity> itd. Do manifestu nowego projektu. Teraz musisz przedrostek wszystkich klas w czytniku z .bookreader i wszystkich klas na liście książek z .booklist. Więc masz manifestu, który wygląda mniej więcej tak:

<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> 

Usuń:

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

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

intent-filtr z działalności, która nie ma w wyrzutni.