2013-03-01 86 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> 

取出。