2013-03-01 61 views
5

我有兩個完成的項目,一個用於顯示書籍列表,另一個用於閱讀書籍的查看器應用程序。但是,由於用戶必須下載圖書清單應用程序,下載後必須下載查看器應用程序,並且我想在下載和安裝時自動啓動。當我試圖在書籍列表應用程序中包括查看器應用程序,然後都安裝了,但是當我做了apk然後使用apk只有書本列表應用程序安裝。有人可以告訴我有什麼問題嗎?有沒有辦法將兩個apk綁定到一個?或我該怎麼辦?將兩個APK綁定到一個apk中?

回答

1

在單個APK中不能有兩個APK。

但是,您可以在清單中使用該處理意圖android.intent.category.LAUNCHER進行兩個活動。 然後他們都會出現在啓動器中。

有關更多詳細信息,請參閱此post

3

您可以將它們組合成一個項目。

創建一個具有基本包名稱包名的項目。例如,如果您當前的應用程序爲com.package.booklistcom.package.bookreader,則使用包com.package創建一個項目。現在將書本列表中的所有代碼複製到com.package.booklist子包中,並將書本閱讀器中的所有代碼複製到com.package.bookreader中。

現在您需要結合AndroidManifests。您可以將所有<activity>等元素複製到新項目的清單中。現在,您需要在閱讀器中將.bookreader以及書籍列表中的所有類別與.booklist一起加前綴。所以你有一個清單,看起來是這樣的:從您不想在啓動活動

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

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

意圖過濾器:

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

取出。