我有两个已完成的项目,一个用于显示书籍列表,另一个是用于阅读书籍的查看器应用程序。但由于用户必须下载书单应用程序,下载后他必须下载查看器应用程序,我想让它在开始时下载并安装。当我尝试在书单应用程序中包含查看器应用程序时,两者都安装了,但是当我制作 apk 然后使用 apk 时,只安装了书单应用程序。谁能告诉我是什么问题?有没有办法将两个 apk 捆绑在一起?或者我应该怎么做?
问问题
12639 次
2 回答
3
您可以将它们组合成一个项目。
创建一个具有基本包名称的包名称的项目。例如,如果您当前的应用程序是com.package.booklist
并com.package.bookreader
使用 package 创建一个项目com.package
。现在将书籍列表中的所有代码复制到com.package.booklist
子包中,并将书籍阅读器中的所有代码复制到com.package.bookreader
.
现在您需要结合 AndroidManifests。您可以将所有等元素复制<activity>
到新项目的清单中。现在,您需要为阅读器中的所有类添加前缀.bookreader
,在书单中添加前缀.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>
来自您不希望在启动器中的 Activity 的意图过滤器。
于 2013-03-01T04:01:43.970 回答
1
一个 APK 中不能有两个 APK。
但是,您可以在清单中拥有两个处理意图 android.intent.category.LAUNCHER 的活动。然后它们都将出现在启动器中。
有关更多详细信息,请参阅此帖子。
于 2013-03-01T04:00:34.190 回答