我有两个完成的项目,一个是显示图书清单,另一个是阅读器应用程序阅读书籍。但由于用户必须下载图书列表应用程序,下载后,他必须下载阅读器应用程序,我想让它下载并在一开始安装。当我尝试将阅读器应用程序包含在图书列表应用程序中时,两个应用程序都安装了,但当我创建apk,然后使用apk时,只安装了图书列表应用程序。谁能告诉我问题出在哪里?有没有办法把两个apk捆绑成一个?或者我该怎么做?
发布于 2013-03-01 04:01:44
您可以将它们合并到一个项目中。
创建一个包名为基本包名的项目。例如,如果您当前的应用程序是com.package.booklist
和com.package.bookreader
,则使用包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>
intent-从启动器中过滤掉你不想要的活动。
发布于 2013-03-01 04:00:34
你不能在一个APK中有两个APK。
但是,在清单中可以有两个处理intents android.intent.category.LAUNCHER活动。然后它们都会出现在启动器中。
有关更多详细信息,请参阅此post。
https://stackoverflow.com/questions/15149805
复制相似问题