首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >把两个apk捆绑成一个apk?

把两个apk捆绑成一个apk?
EN

Stack Overflow用户
提问于 2013-03-01 03:06:43
回答 2查看 12.5K关注 0票数 5

我有两个完成的项目,一个是显示图书清单,另一个是阅读器应用程序阅读书籍。但由于用户必须下载图书列表应用程序,下载后,他必须下载阅读器应用程序,我想让它下载并在一开始安装。当我尝试将阅读器应用程序包含在图书列表应用程序中时,两个应用程序都安装了,但当我创建apk,然后使用apk时,只安装了图书列表应用程序。谁能告诉我问题出在哪里?有没有办法把两个apk捆绑成一个?或者我该怎么做?

EN

回答 2

Stack Overflow用户

发布于 2013-03-01 04:01:44

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

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

现在,您需要组合AndroidManifests。您可以将所有<activity>等元素复制到新项目的清单中。现在,您需要为阅读器中的所有类添加.bookreader前缀,并为图书列表中的所有类添加.booklist前缀。所以你会有一个清单,看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
<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>

删除:

代码语言:javascript
运行
AI代码解释
复制
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" >
                </category>

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

intent-从启动器中过滤掉你不想要的活动。

票数 3
EN

Stack Overflow用户

发布于 2013-03-01 04:00:34

你不能在一个APK中有两个APK。

但是,在清单中可以有两个处理intents android.intent.category.LAUNCHER活动。然后它们都会出现在启动器中。

有关更多详细信息,请参阅此post

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15149805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档