Android 将两个apk捆绑成一个apk?

Android 将两个apk捆绑成一个apk?,android,apk,Android,Apk,我有两个已完成的项目,一个用于显示书籍列表,另一个是用于阅读书籍的查看器应用程序。但是,由于用户必须下载图书列表应用程序,下载后,他必须下载查看器应用程序,我希望在开始时将其下载并安装。当我尝试在图书列表应用程序中包含查看器应用程序时,这两个应用程序都已安装,但当我创建apk时,使用apk时,仅安装图书列表应用程序。谁能告诉我是什么问题吗?有没有办法把两个apk捆绑成一个?或者我该怎么办?一个APK不能有两个APK 但是,您可以在清单中有两个处理intent android.intent.cat

我有两个已完成的项目,一个用于显示书籍列表,另一个是用于阅读书籍的查看器应用程序。但是,由于用户必须下载图书列表应用程序,下载后,他必须下载查看器应用程序,我希望在开始时将其下载并安装。当我尝试在图书列表应用程序中包含查看器应用程序时,这两个应用程序都已安装,但当我创建apk时,使用apk时,仅安装图书列表应用程序。谁能告诉我是什么问题吗?有没有办法把两个apk捆绑成一个?或者我该怎么办?

一个APK不能有两个APK

但是,您可以在清单中有两个处理intent android.intent.category.LAUNCHER的活动。 它们都将出现在发射器中


有关更多详细信息,请参见此部分。

您可以将它们合并到一个项目中

创建一个包名为基本包名的项目。例如,如果您当前的应用程序是
com.package.booklist
com.package.bookreader
则使用包
com.package
创建一个项目。现在将图书列表中的所有代码复制到
com.package.booklist
子包中,并将图书阅读器中的所有代码复制到
com.package.bookleader

现在需要合并AndroidManifests。您可以将所有
等元素复制到新项目的清单中。现在,您需要在reader中的所有类前面加上
.bookreader
,在book list中的所有类前面加上
.booklist
。所以你会有一个清单,看起来像:

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

删除以下内容:

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

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

从您不希望在启动器中的活动中筛选意图